Skip to content

Commit 79a0618

Browse files
committed
fix: terser might compress different files differently, fixes #166
1 parent 07a4d93 commit 79a0618

File tree

13 files changed

+287
-210
lines changed

13 files changed

+287
-210
lines changed

.size-limit.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ module.exports = [
1212
{
1313
path: 'dist/es2015/boot.js',
1414
ignore: ['tslib'],
15-
limit: '1.7 KB',
15+
limit: '1.8 KB',
1616
},
1717
];

.size.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
{
33
"name": "dist/es2015/index.js, dist/es2015/boot.js",
44
"passed": true,
5-
"size": 3407
5+
"size": 3426
66
},
77
{
88
"name": "dist/es2015/index.js",
99
"passed": true,
10-
"size": 3123
10+
"size": 3130
1111
},
1212
{
1313
"name": "dist/es2015/boot.js",
1414
"passed": true,
15-
"size": 1695
15+
"size": 1756
1616
}
1717
]
Lines changed: 68 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,71 @@
1-
var importedWrapper = function (marker, realImport) {
2-
if (typeof __deoptimization_sideEffect__ !== 'undefined') {
3-
__deoptimization_sideEffect__(marker, realImport);
4-
}
5-
6-
return realImport;
7-
};
1+
var importedWrapper = require('react-imported-component/wrapper');
82

9-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
3+
function _interopRequireWildcard(obj) {
4+
if (obj && obj.__esModule) {
5+
return obj;
6+
} else {
7+
var newObj = {};
8+
if (obj != null) {
9+
for (var key in obj) {
10+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
11+
var desc =
12+
Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
13+
if (desc.get || desc.set) {
14+
Object.defineProperty(newObj, key, desc);
15+
} else {
16+
newObj[key] = obj[key];
17+
}
18+
}
19+
}
20+
}
21+
newObj.default = obj;
22+
return newObj;
23+
}
24+
}
1025

1126
import imported from 'react-imported-component';
12-
const AsyncComponent0 = imported(() => importedWrapper("imported_18g2v0c_component", Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent')))));
13-
const AsyncComponent1 = imported(() => importedWrapper("imported_18g2v0c_component", Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent')))));
14-
const AsyncComponent2 = imported(async () => await importedWrapper("imported_18g2v0c_component", Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent')))));
15-
const AsyncComponent3 = imported(() => Promise.all([importedWrapper("imported_18g2v0c_component", Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent')))), importedWrapper("imported_18g2v0c_component", Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent'))))]));
16-
const AsyncComponent4 = imported(async () => (await Promise.all([importedWrapper("imported_-1qs8n90_component", Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent1')))), importedWrapper("imported_9j5sqq_component", Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent2'))))]))[0]);
17-
export default AsyncComponent1;
27+
const AsyncComponent0 = imported(() =>
28+
importedWrapper(
29+
'imported_18g2v0c_component',
30+
Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent')))
31+
)
32+
);
33+
const AsyncComponent1 = imported(() =>
34+
importedWrapper(
35+
'imported_18g2v0c_component',
36+
Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent')))
37+
)
38+
);
39+
const AsyncComponent2 = imported(
40+
async () =>
41+
await importedWrapper(
42+
'imported_18g2v0c_component',
43+
Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent')))
44+
)
45+
);
46+
const AsyncComponent3 = imported(() =>
47+
Promise.all([
48+
importedWrapper(
49+
'imported_18g2v0c_component',
50+
Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent')))
51+
),
52+
importedWrapper(
53+
'imported_18g2v0c_component',
54+
Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent')))
55+
),
56+
])
57+
);
58+
const AsyncComponent4 = imported(
59+
async () =>
60+
(await Promise.all([
61+
importedWrapper(
62+
'imported_-1qs8n90_component',
63+
Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent1')))
64+
),
65+
importedWrapper(
66+
'imported_9j5sqq_component',
67+
Promise.resolve().then(() => _interopRequireWildcard(require('./MyComponent2')))
68+
),
69+
]))[0]
70+
);
71+
export default AsyncComponent1;
Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,32 @@
1-
var importedWrapper = function (marker, realImport) {
2-
if (typeof __deoptimization_sideEffect__ !== 'undefined') {
3-
__deoptimization_sideEffect__(marker, realImport);
4-
}
1+
var importedWrapper = require('react-imported-component/wrapper');
52

6-
return realImport;
7-
};
8-
9-
import { lazy, useImported } from "react-imported-component";
10-
import { assignImportedComponents } from "react-imported-component/boot";
3+
import { lazy, useImported } from 'react-imported-component';
4+
import { assignImportedComponents } from 'react-imported-component/boot';
115
import imported from 'react-imported-component';
12-
const AsyncComponent0 = imported(() => importedWrapper("imported_18g2v0c_component", import(
13-
/* webpackChunkName:namedChunk */
14-
'./MyComponent')));
15-
const AsyncComponent1 = imported(() => importedWrapper("imported_18g2v0c_component", import('./MyComponent')));
16-
const AsyncComponent2 = imported(async () => await importedWrapper("imported_18g2v0c_component", import('./MyComponent')));
17-
const AsyncComponent3 = imported(() => Promise.all([importedWrapper("imported_18g2v0c_component", import('./MyComponent')), importedWrapper("imported_18g2v0c_component", import('./MyComponent'))]));
18-
const AsyncComponent4 = imported(async () => (await Promise.all([importedWrapper("imported_-1qs8n90_component", import('./MyComponent1')), importedWrapper("imported_9j5sqq_component", import('./MyComponent2'))]))[0]);
19-
export default AsyncComponent1;
6+
const AsyncComponent0 = imported(() =>
7+
importedWrapper(
8+
'imported_18g2v0c_component',
9+
import(
10+
/* webpackChunkName:namedChunk */
11+
'./MyComponent'
12+
)
13+
)
14+
);
15+
const AsyncComponent1 = imported(() => importedWrapper('imported_18g2v0c_component', import('./MyComponent')));
16+
const AsyncComponent2 = imported(
17+
async () => await importedWrapper('imported_18g2v0c_component', import('./MyComponent'))
18+
);
19+
const AsyncComponent3 = imported(() =>
20+
Promise.all([
21+
importedWrapper('imported_18g2v0c_component', import('./MyComponent')),
22+
importedWrapper('imported_18g2v0c_component', import('./MyComponent')),
23+
])
24+
);
25+
const AsyncComponent4 = imported(
26+
async () =>
27+
(await Promise.all([
28+
importedWrapper('imported_-1qs8n90_component', import('./MyComponent1')),
29+
importedWrapper('imported_9j5sqq_component', import('./MyComponent2')),
30+
]))[0]
31+
);
32+
export default AsyncComponent1;

__tests__/__snapshots__/macro.spec.ts.snap

Lines changed: 6 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,7 @@ function _interopRequireWildcard(obj) {
3333
}
3434
}
3535
36-
var importedWrapper = function(marker, realImport) {
37-
if (typeof __deoptimization_sideEffect__ !== \\"undefined\\") {
38-
__deoptimization_sideEffect__(marker, realImport);
39-
}
40-
41-
return realImport;
42-
};
36+
var importedWrapper = require(\\"react-imported-component/wrapper\\");
4337
4438
import { lazy } from \\"react-imported-component\\";
4539
import { assignImportedComponents } from \\"react-imported-component/boot\\";
@@ -92,13 +86,7 @@ function _interopRequireWildcard(obj) {
9286
}
9387
}
9488
95-
var importedWrapper = function(marker, realImport) {
96-
if (typeof __deoptimization_sideEffect__ !== \\"undefined\\") {
97-
__deoptimization_sideEffect__(marker, realImport);
98-
}
99-
100-
return realImport;
101-
};
89+
var importedWrapper = require(\\"react-imported-component/wrapper\\");
10290
10391
importedWrapper(
10492
\\"imported_-1ko6oiq_component\\",
@@ -140,13 +128,7 @@ function _interopRequireWildcard(obj) {
140128
}
141129
}
142130
143-
var importedWrapper = function(marker, realImport) {
144-
if (typeof __deoptimization_sideEffect__ !== \\"undefined\\") {
145-
__deoptimization_sideEffect__(marker, realImport);
146-
}
147-
148-
return realImport;
149-
};
131+
var importedWrapper = require(\\"react-imported-component/wrapper\\");
150132
151133
import { lazy } from \\"react-imported-component\\";
152134
const v = lazy(() =>
@@ -192,13 +174,7 @@ function _interopRequireWildcard(obj) {
192174
}
193175
}
194176
195-
var importedWrapper = function(marker, realImport) {
196-
if (typeof __deoptimization_sideEffect__ !== \\"undefined\\") {
197-
__deoptimization_sideEffect__(marker, realImport);
198-
}
199-
200-
return realImport;
201-
};
177+
var importedWrapper = require(\\"react-imported-component/wrapper\\");
202178
203179
import { imported, useImported } from \\"react-imported-component\\";
204180
const v = imported(() =>
@@ -249,13 +225,7 @@ const x = () => useImported(() => import('./b'));
249225
250226
↓ ↓ ↓ ↓ ↓ ↓
251227
252-
var importedWrapper = function(marker, realImport) {
253-
if (typeof __deoptimization_sideEffect__ !== \\"undefined\\") {
254-
__deoptimization_sideEffect__(marker, realImport);
255-
}
256-
257-
return realImport;
258-
};
228+
var importedWrapper = require(\\"react-imported-component/wrapper\\");
259229
260230
function _interopRequireWildcard(obj) {
261231
if (obj && obj.__esModule) {
@@ -282,13 +252,7 @@ function _interopRequireWildcard(obj) {
282252
}
283253
}
284254
285-
var importedWrapper = function(marker, realImport) {
286-
if (typeof __deoptimization_sideEffect__ !== \\"undefined\\") {
287-
__deoptimization_sideEffect__(marker, realImport);
288-
}
289-
290-
return realImport;
291-
};
255+
var importedWrapper = require(\\"react-imported-component/wrapper\\");
292256
293257
import { imported, useImported } from \\"react-imported-component\\";
294258
const v = imported(() =>

__tests__/loadable.spec.ts

Lines changed: 3 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {getFunctionSignature, getLoadable, importMatch} from "../src/loadable";
1+
import { getLoadable } from '../src/loadable';
22

33
describe('getLoadable', () => {
44
const importedWrapper = (_: any, b: any) => b;
@@ -7,61 +7,13 @@ describe('getLoadable', () => {
77
const l1 = getLoadable(() => importedWrapper('imported_mark1_component', Promise.resolve(42)));
88
const l2 = getLoadable(() => importedWrapper('imported_mark1_component', Promise.resolve(42)));
99

10-
expect(l1).toEqual(l2)
10+
expect(l1).toEqual(l2);
1111
});
1212

1313
it('cache test - no mark present', () => {
1414
const l1 = getLoadable(() => Promise.resolve(42));
1515
const l2 = getLoadable(() => Promise.resolve(42));
1616

17-
expect(l1).not.toEqual(l2)
17+
expect(l1).not.toEqual(l2);
1818
});
1919
});
20-
21-
describe('importMatch', () => {
22-
it('standard', () => {
23-
expect(
24-
importMatch(getFunctionSignature(`() => importedWrapper('imported_mark1_component', Promise.resolve(TargetComponent)), true)`))
25-
).toEqual(['mark1']);
26-
});
27-
28-
it('webpack', () => {
29-
expect(
30-
importMatch(getFunctionSignature(`() => importedWrapper("imported_mark1_component", __webpack_require__.e(/*! import() */ 0).then(__webpack_require__.bind(null, /*! ./components/Another */ "./app/components/Another.tsx")))`))
31-
).toEqual(['mark1']);
32-
});
33-
34-
it('webpack-prod', () => {
35-
expect(
36-
importMatch(getFunctionSignature(`() => importedWrapper('imported_mark1_component',__webpack_require__.e(/*! import() */ 0).then(__webpack_require__.bind(null, /*! ./components/Another */ "./app/components/Another.tsx")))`))
37-
).toEqual(['mark1']);
38-
});
39-
40-
it('functional', () => {
41-
expect(importMatch(getFunctionSignature(`"function loadable() {
42-
return importedWrapper('imported_1ubbetg_component', __webpack_require__.e(/*! import() | namedChunk-1 */ "namedChunk-1").then(__webpack_require__.t.bind(null, /*! ./DeferredRender */ "./src/DeferredRender.js", 7)));
43-
}"`))).toEqual(['1ubbetg']);
44-
});
45-
46-
it('parcel', () => {
47-
expect(importMatch(getFunctionSignature(`function _() {
48-
return importedWrapper('imported_mark1_component', require("_bundle_loader")(require.resolve('./HelloWorld3')));
49-
}`))).toEqual(['mark1']);
50-
});
51-
52-
it('ie11 uglify', () => {
53-
expect(importMatch(getFunctionSignature(`function _() {
54-
var t = 'imported_mark1_component';
55-
}`))).toEqual(['mark1']);
56-
});
57-
58-
it('multiple imports in one line', () => {
59-
expect(importMatch(getFunctionSignature(`function _() {
60-
"imported_1pn9k36_component", blablabla- importedWrapper("imported_-1556gns_component")
61-
}`))).toEqual(['1pn9k36', '-1556gns']);
62-
});
63-
64-
it('maps function signatures', () => {
65-
expect(getFunctionSignature(`import('file')`)).toEqual(getFunctionSignature(`import(/* */'file')`))
66-
})
67-
});

0 commit comments

Comments
 (0)