Skip to content

Commit

Permalink
Set null prototype on namespace objects. (#3136)
Browse files Browse the repository at this point in the history
* Give namespaces null prototype.

* Fix snapshot tests.

* Fix snapshot tests.

* Fix formatting.

* Fix formatting.

* Fix formatting.

* Fix tests.
  • Loading branch information
rpamely authored and lukastaegert committed Sep 26, 2019
1 parent a1ec55c commit b8335db
Show file tree
Hide file tree
Showing 76 changed files with 218 additions and 8 deletions.
2 changes: 2 additions & 0 deletions src/ast/variables/NamespaceVariable.ts
Expand Up @@ -91,6 +91,8 @@ export default class NamespaceVariable extends Variable {
return `${t}${safeName}: ${original.getName()}`;
});

members.unshift(`${t}__proto__:${_}null`);

if (options.namespaceToStringTag) {
members.unshift(`${t}[Symbol.toStringTag]:${_}'Module'`);
}
Expand Down
Expand Up @@ -11,6 +11,7 @@ define(['exports'], function (exports) { 'use strict';
}

var dep1 = /*#__PURE__*/Object.freeze({
__proto__: null,
bar: bar
});

Expand Down
Expand Up @@ -11,6 +11,7 @@ function bar() {
}

var dep1 = /*#__PURE__*/Object.freeze({
__proto__: null,
bar: bar
});

Expand Down
Expand Up @@ -9,6 +9,7 @@ function bar() {
}

var dep1 = /*#__PURE__*/Object.freeze({
__proto__: null,
bar: bar
});

Expand Down
Expand Up @@ -19,6 +19,7 @@ System.register([], function (exports) {
}

var dep1 = /*#__PURE__*/Object.freeze({
__proto__: null,
bar: bar
});

Expand Down
Expand Up @@ -11,6 +11,7 @@ define(['exports'], function (exports) { 'use strict';
}

var dep1 = /*#__PURE__*/Object.freeze({
__proto__: null,
bar: bar
});

Expand Down
Expand Up @@ -11,6 +11,7 @@ function bar() {
}

var dep1 = /*#__PURE__*/Object.freeze({
__proto__: null,
bar: bar
});

Expand Down
Expand Up @@ -9,6 +9,7 @@ function bar() {
}

var dep1 = /*#__PURE__*/Object.freeze({
__proto__: null,
bar: bar
});

Expand Down
Expand Up @@ -19,6 +19,7 @@ System.register([], function (exports) {
}

var dep1 = /*#__PURE__*/Object.freeze({
__proto__: null,
bar: bar
});

Expand Down
Expand Up @@ -3,6 +3,7 @@ define(['exports', './m2'], function (exports, m2) { 'use strict';


var ms = /*#__PURE__*/Object.freeze({
__proto__: null,
m2: m2
});

Expand Down
Expand Up @@ -5,6 +5,7 @@ var m2 = require('./m2.js');


var ms = /*#__PURE__*/Object.freeze({
__proto__: null,
m2: m2
});

Expand Down
Expand Up @@ -4,6 +4,7 @@ export { default as m } from './m2.js';


var ms = /*#__PURE__*/Object.freeze({
__proto__: null,
m2: m2
});

Expand Down
Expand Up @@ -11,6 +11,7 @@ System.register(['./m2.js'], function (exports) {


var ms = /*#__PURE__*/Object.freeze({
__proto__: null,
m2: m2
});
exports('a', ms);
Expand Down
Expand Up @@ -4,6 +4,7 @@ define(['exports'], function (exports) { 'use strict';
var b = 'a';

var main2 = /*#__PURE__*/Object.freeze({
__proto__: null,
a: a,
b: b
});
Expand Down
Expand Up @@ -4,6 +4,7 @@ var a = 'a';
var b = 'a';

var main2 = /*#__PURE__*/Object.freeze({
__proto__: null,
a: a,
b: b
});
Expand Down
Expand Up @@ -2,6 +2,7 @@ var a = 'a';
var b = 'a';

var main2 = /*#__PURE__*/Object.freeze({
__proto__: null,
a: a,
b: b
});
Expand Down
Expand Up @@ -7,6 +7,7 @@ System.register([], function (exports) {
var b = exports('b', 'a');

var main2 = /*#__PURE__*/Object.freeze({
__proto__: null,
a: a,
b: b
});
Expand Down
Expand Up @@ -3,6 +3,7 @@ define(['exports', './generated-dep', 'external'], function (exports, dep, exter
console.log(external.reexported);

var lib = /*#__PURE__*/Object.freeze({
__proto__: null,
reexported: dep.reexported
});

Expand Down
Expand Up @@ -6,6 +6,7 @@ var external = require('external');
console.log(external.reexported);

var lib = /*#__PURE__*/Object.freeze({
__proto__: null,
reexported: dep.reexported
});

Expand Down
Expand Up @@ -4,6 +4,7 @@ import { reexported } from 'external';
console.log(reexported);

var lib = /*#__PURE__*/Object.freeze({
__proto__: null,
reexported: reexported$1
});

Expand Down
Expand Up @@ -12,6 +12,7 @@ System.register(['./generated-dep.js', 'external'], function (exports) {
console.log(reexported);

var lib = /*#__PURE__*/Object.freeze({
__proto__: null,
reexported: reexported$1
});
exports('l', lib);
Expand Down
Expand Up @@ -5,6 +5,7 @@ define(['exports', './hsl2hsv'], function (exports, hsl2hsv$1) { 'use strict';
console.log(hsl2hsv);

var lib = /*#__PURE__*/Object.freeze({
__proto__: null,
hsl2hsv: hsl2hsv$1.default
});

Expand Down
Expand Up @@ -7,6 +7,7 @@ var hsl2hsv = 'asdf';
console.log(hsl2hsv);

var lib = /*#__PURE__*/Object.freeze({
__proto__: null,
hsl2hsv: hsl2hsv$1.default
});

Expand Down
Expand Up @@ -6,6 +6,7 @@ var hsl2hsv = 'asdf';
console.log(hsl2hsv);

var lib = /*#__PURE__*/Object.freeze({
__proto__: null,
hsl2hsv: hsl2hsv$1
});

Expand Down
Expand Up @@ -13,6 +13,7 @@ System.register(['./hsl2hsv.js'], function (exports) {
console.log(hsl2hsv);

var lib = /*#__PURE__*/Object.freeze({
__proto__: null,
hsl2hsv: hsl2hsv$1
});
exports('l', lib);
Expand Down
2 changes: 1 addition & 1 deletion test/form/samples/compact/_expected/amd.js
@@ -1,4 +1,4 @@
define(['external'],function(x){'use strict';x=x&&x.hasOwnProperty('default')?x['default']:x;var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',get default(){return foo}});console.log(self);
define(['external'],function(x){'use strict';x=x&&x.hasOwnProperty('default')?x['default']:x;var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',__proto__:null,get default(){return foo}});console.log(self);
function foo () {
console.log( x );
}
Expand Down
2 changes: 1 addition & 1 deletion test/form/samples/compact/_expected/cjs.js
@@ -1,4 +1,4 @@
'use strict';function _interopDefault(e){return(e&&(typeof e==='object')&&'default'in e)?e['default']:e}var x=_interopDefault(require('external'));var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',get default(){return foo}});console.log(self);
'use strict';function _interopDefault(e){return(e&&(typeof e==='object')&&'default'in e)?e['default']:e}var x=_interopDefault(require('external'));var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',__proto__:null,get default(){return foo}});console.log(self);
function foo () {
console.log( x );
}
Expand Down
2 changes: 1 addition & 1 deletion test/form/samples/compact/_expected/es.js
@@ -1,4 +1,4 @@
import x from'external';var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',get default(){return foo}});console.log(self);
import x from'external';var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',__proto__:null,get default(){return foo}});console.log(self);
function foo () {
console.log( x );
}
Expand Down
2 changes: 1 addition & 1 deletion test/form/samples/compact/_expected/iife.js
@@ -1,4 +1,4 @@
var foo=(function(x){'use strict';x=x&&x.hasOwnProperty('default')?x['default']:x;var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',get default(){return foo}});console.log(self);
var foo=(function(x){'use strict';x=x&&x.hasOwnProperty('default')?x['default']:x;var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',__proto__:null,get default(){return foo}});console.log(self);
function foo () {
console.log( x );
}
Expand Down
2 changes: 1 addition & 1 deletion test/form/samples/compact/_expected/system.js
@@ -1,4 +1,4 @@
System.register('foo',['external'],function(exports){'use strict';var x;return{setters:[function(module){x=module.default;}],execute:function(){exports('default',foo);var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',get default(){return foo}});console.log(self);
System.register('foo',['external'],function(exports){'use strict';var x;return{setters:[function(module){x=module.default;}],execute:function(){exports('default',foo);var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',__proto__:null,get default(){return foo}});console.log(self);
function foo () {
console.log( x );
}
Expand Down
2 changes: 1 addition & 1 deletion test/form/samples/compact/_expected/umd.js
@@ -1,4 +1,4 @@
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?module.exports=f(require('external')):typeof define==='function'&&define.amd?define(['external'],f):(g=g||self,g.foo=f(g.x));}(this,function(x){'use strict';x=x&&x.hasOwnProperty('default')?x['default']:x;var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',get default(){return foo}});console.log(self);
(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?module.exports=f(require('external')):typeof define==='function'&&define.amd?define(['external'],f):(g=g||self,g.foo=f(g.x));}(this,function(x){'use strict';x=x&&x.hasOwnProperty('default')?x['default']:x;var self=/*#__PURE__*/Object.freeze({[Symbol.toStringTag]:'Module',__proto__:null,get default(){return foo}});console.log(self);
function foo () {
console.log( x );
}
Expand Down
1 change: 1 addition & 0 deletions test/form/samples/dynamic-import-inlining/_expected.js
Expand Up @@ -4,6 +4,7 @@ Promise.resolve().then(function () { return foo$1; });
const foo = 1;

var foo$1 = /*#__PURE__*/Object.freeze({
__proto__: null,
foo: foo
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/freeze/_expected/amd.js
Expand Up @@ -4,6 +4,7 @@ define(['exports'], function (exports) { 'use strict';
const bar = 2;

var namespace = ({
__proto__: null,
foo: foo,
bar: bar
});
Expand Down
1 change: 1 addition & 0 deletions test/form/samples/freeze/_expected/cjs.js
Expand Up @@ -6,6 +6,7 @@ const foo = 1;
const bar = 2;

var namespace = ({
__proto__: null,
foo: foo,
bar: bar
});
Expand Down
1 change: 1 addition & 0 deletions test/form/samples/freeze/_expected/es.js
Expand Up @@ -2,6 +2,7 @@ const foo = 1;
const bar = 2;

var namespace = ({
__proto__: null,
foo: foo,
bar: bar
});
Expand Down
1 change: 1 addition & 0 deletions test/form/samples/freeze/_expected/iife.js
Expand Up @@ -5,6 +5,7 @@ var myBundle = (function (exports) {
const bar = 2;

var namespace = ({
__proto__: null,
foo: foo,
bar: bar
});
Expand Down
1 change: 1 addition & 0 deletions test/form/samples/freeze/_expected/system.js
Expand Up @@ -7,6 +7,7 @@ System.register('myBundle', [], function (exports) {
const bar = 2;

var namespace = ({
__proto__: null,
foo: foo,
bar: bar
});
Expand Down
1 change: 1 addition & 0 deletions test/form/samples/freeze/_expected/umd.js
Expand Up @@ -8,6 +8,7 @@
const bar = 2;

var namespace = ({
__proto__: null,
foo: foo,
bar: bar
});
Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-object-import/_expected/amd.js
Expand Up @@ -3,6 +3,7 @@ define(function () { 'use strict';
var dep = "default";

var dep$1 = /*#__PURE__*/Object.freeze({
__proto__: null,
'default': dep
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-object-import/_expected/cjs.js
Expand Up @@ -3,6 +3,7 @@
var dep = "default";

var dep$1 = /*#__PURE__*/Object.freeze({
__proto__: null,
'default': dep
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-object-import/_expected/es.js
@@ -1,6 +1,7 @@
var dep = "default";

var dep$1 = /*#__PURE__*/Object.freeze({
__proto__: null,
'default': dep
});

Expand Down
Expand Up @@ -4,6 +4,7 @@
var dep = "default";

var dep$1 = /*#__PURE__*/Object.freeze({
__proto__: null,
'default': dep
});

Expand Down
Expand Up @@ -6,6 +6,7 @@ System.register([], function () {
var dep = "default";

var dep$1 = /*#__PURE__*/Object.freeze({
__proto__: null,
'default': dep
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-object-import/_expected/umd.js
Expand Up @@ -6,6 +6,7 @@
var dep = "default";

var dep$1 = /*#__PURE__*/Object.freeze({
__proto__: null,
'default': dep
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-self-import/_expected/amd.js
@@ -1,6 +1,7 @@
define(['exports'], function (exports) { 'use strict';

var self = /*#__PURE__*/Object.freeze({
__proto__: null,
get p () { return p; }
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-self-import/_expected/cjs.js
Expand Up @@ -3,6 +3,7 @@
Object.defineProperty(exports, '__esModule', { value: true });

var self = /*#__PURE__*/Object.freeze({
__proto__: null,
get p () { return p; }
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-self-import/_expected/es.js
@@ -1,4 +1,5 @@
var self = /*#__PURE__*/Object.freeze({
__proto__: null,
get p () { return p; }
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-self-import/_expected/iife.js
Expand Up @@ -2,6 +2,7 @@ var iife = (function (exports) {
'use strict';

var self = /*#__PURE__*/Object.freeze({
__proto__: null,
get p () { return p; }
});

Expand Down
Expand Up @@ -4,6 +4,7 @@ System.register('iife', [], function (exports) {
execute: function () {

var self = /*#__PURE__*/Object.freeze({
__proto__: null,
get p () { return p; }
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-self-import/_expected/umd.js
Expand Up @@ -5,6 +5,7 @@
}(this, function (exports) { 'use strict';

var self = /*#__PURE__*/Object.freeze({
__proto__: null,
get p () { return p; }
});

Expand Down
1 change: 1 addition & 0 deletions test/form/samples/namespace-tostringtag/_expected/amd.js
Expand Up @@ -2,6 +2,7 @@ define(['exports'], function (exports) { 'use strict';

var self = /*#__PURE__*/Object.freeze({
[Symbol.toStringTag]: 'Module',
__proto__: null,
get p () { return p; }
});

Expand Down

0 comments on commit b8335db

Please sign in to comment.