Skip to content

Commit 7ce6af6

Browse files
authored
Merge pull request #157 from theKashey/lib-builder
chore: migrate to lib-builder
2 parents b6e4565 + 39b4fa6 commit 7ce6af6

18 files changed

+8666
-4044
lines changed

.size-limit.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module.exports = [
2+
{
3+
path: ['dist/es2015/index.js', 'dist/es2015/boot.js'],
4+
ignore: ['tslib'],
5+
limit: '3.4 KB',
6+
},
7+
{
8+
path: 'dist/es2015/index.js',
9+
ignore: ['tslib'],
10+
limit: '3.1 KB',
11+
},
12+
{
13+
path: 'dist/es2015/boot.js',
14+
ignore: ['tslib'],
15+
limit: '1.7 KB',
16+
},
17+
];

.size.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[
2+
{
3+
"name": "dist/es2015/index.js, dist/es2015/boot.js",
4+
"passed": true,
5+
"size": 3399
6+
},
7+
{
8+
"name": "dist/es2015/index.js",
9+
"passed": true,
10+
"size": 3120
11+
},
12+
{
13+
"name": "dist/es2015/boot.js",
14+
"passed": true,
15+
"size": 1695
16+
}
17+
]

__tests__/babel.spec.ts

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,36 @@
1-
import {transform} from '@babel/core'
2-
import {join} from 'path'
3-
import {readdirSync, statSync, readFileSync} from 'fs';
1+
import { transform } from '@babel/core';
2+
import { readFileSync } from 'fs';
3+
import { join } from 'path';
44

55
const FIXTURE_PATH = join(__dirname, '__fixtures__/babel');
66

7-
const testFolders:string[] =
8-
readdirSync(FIXTURE_PATH)
9-
.filter(file =>
10-
statSync(join(FIXTURE_PATH, file)).isDirectory(),
11-
);
12-
137
const testPlugin = {
148
node: (code: string) => {
159
const result = transform(code, {
1610
presets: ['@babel/preset-react'],
1711
plugins: [require.resolve('../dist/es5/babel'), 'dynamic-import-node'],
1812
});
1913

20-
return result.code;
14+
return result!.code;
2115
},
2216
webpack: (code: string) => {
2317
const result = transform(code, {
2418
presets: ['@babel/preset-react'],
25-
plugins: [require.resolve('../dist/es5/babel')]
19+
plugins: [require.resolve('../dist/es5/babel')],
2620
});
2721

28-
return result.code;
29-
}
22+
return result!.code;
23+
},
3024
};
3125

3226
describe('babel', () => {
33-
testFolders.forEach(folderName => {
34-
const actual = readFileSync(
35-
join(FIXTURE_PATH, folderName, 'actual.js'),
36-
'utf8',
37-
);
38-
const expected = readFileSync(
39-
join(FIXTURE_PATH, folderName, 'expected.js'),
40-
'utf8',
41-
);
27+
Object.keys(testPlugin).forEach(folderName => {
28+
const actual = readFileSync(join(FIXTURE_PATH, folderName, 'actual.js'), 'utf8');
29+
const expected = readFileSync(join(FIXTURE_PATH, folderName, 'expected.js'), 'utf8');
4230

4331
it(`works with ${folderName}`, () => {
44-
const result = testPlugin[folderName](actual)
45-
expect(result.trim()).toBe(expected.trim())
46-
})
47-
})
48-
})
32+
const result = (testPlugin as any)[folderName](actual);
33+
expect(result.trim()).toBe(expected.trim());
34+
});
35+
});
36+
});

__tests__/componentLoader.spec.tsx

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,33 @@
1+
import '@theuiteam/lib-builder/configs/setupEnzyme';
2+
import { mount } from 'enzyme';
13
import * as React from 'react';
2-
import {mount} from 'enzyme';
4+
5+
import { ImportedComponent } from '../src/Component';
36
import loader from '../src/HOC';
4-
import {ImportedComponent} from '../src/Component';
5-
import {toLoadable} from '../src/loadable';
7+
import { toLoadable } from '../src/loadable';
68

79
describe('Async Component', () => {
8-
910
describe('loader', () => {
10-
it('should load component', (done) => {
11-
const TargetComponent = ({payload}: any) => <div>{payload}</div>;
12-
const Component = loader(() => TargetComponent);
11+
it('should load component', done => {
12+
const TargetComponent = ({ payload }: any) => <div>{payload}</div>;
13+
const Component = loader(() => Promise.resolve(TargetComponent));
1314

14-
const wrapper = mount(<Component payload={42}/>);
15+
const wrapper = mount(<Component payload={42} />);
1516

16-
expect(wrapper.find(TargetComponent)).toHaveLength(0)
17+
expect(wrapper.find(TargetComponent)).toHaveLength(0);
1718
setImmediate(() => {
1819
wrapper.update();
19-
expect(wrapper.find(TargetComponent).html()).toContain("42");
20+
expect(wrapper.find(TargetComponent).html()).toContain('42');
2021
wrapper.unmount();
2122
done();
2223
});
2324
});
2425

25-
it('forwardRef', (done) => {
26-
const TargetComponent = React.forwardRef<any, any>(({payload}, ref) => <div ref={ref}>{payload}</div>);
27-
const Component = loader(() => TargetComponent);
26+
it('forwardRef', done => {
27+
const TargetComponent = React.forwardRef<any, any>(({ payload }, fref) => <div ref={fref}>{payload}</div>);
28+
const Component = loader(() => Promise.resolve(TargetComponent));
2829
const ref = React.createRef();
29-
mount(<Component payload={42} ref={ref}/>);
30+
mount(<Component payload={42} ref={ref} />);
3031

3132
setImmediate(() => {
3233
expect(ref.current).not.toBe(null);
@@ -35,23 +36,18 @@ describe('Async Component', () => {
3536
});
3637
});
3738

38-
describe("SSR", () => {
39-
39+
describe('SSR', () => {
4040
it('should precache Components', async () => {
41-
const TargetComponent = ({payload}) => <div>{payload}</div>;
41+
const TargetComponent = ({ payload }: any) => <div>{payload}</div>;
4242
const LoadingComponent = () => <div>loading</div>;
43-
const loader = toLoadable(() => Promise.resolve(TargetComponent));
44-
await loader.load();
43+
const loadable = toLoadable(() => Promise.resolve(TargetComponent));
44+
await loadable.load();
4545

4646
const wrapper = mount(
47-
<ImportedComponent
48-
loadable={loader}
49-
LoadingComponent={LoadingComponent}
50-
forwardProps={{payload: 42}}
51-
/>
47+
<ImportedComponent loadable={loadable} LoadingComponent={LoadingComponent} forwardProps={{ payload: 42 }} />
5248
);
5349
expect(wrapper.find(LoadingComponent)).toHaveLength(0);
5450
expect(wrapper.find(TargetComponent).html()).toContain('42');
5551
});
5652
});
57-
});
53+
});

__tests__/module.spec.tsx

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1+
import '@theuiteam/lib-builder/configs/setupEnzyme';
2+
import { mount } from 'enzyme';
13
import * as React from 'react';
2-
import {mount} from 'enzyme';
3-
import {act} from "react-dom/test-utils";
4+
import { act } from 'react-dom/test-utils';
45

5-
import {importedModule, ImportedModule} from '../src/Module';
6-
import {done} from "../src/loadable";
6+
import { done } from '../src/loadable';
7+
import { importedModule, ImportedModule } from '../src/Module';
78

89
describe('Module Component', () => {
9-
1010
describe('hoc', () => {
1111
it('should load component', async () => {
1212
const Component = importedModule(() => Promise.resolve((x: number) => x + 42));
1313

14-
const wrapper = mount(<Component fallback={"loading"}>{(fn) => <span>{fn(42)}</span>}</Component>);
14+
const wrapper = mount(<Component fallback={'loading'}>{fn => <span>{fn(42)}</span>}</Component>);
1515

16-
expect(wrapper.update().html()).toContain("loading");
16+
expect(wrapper.update().html()).toContain('loading');
1717

1818
await act(async () => {
1919
await done();
2020
});
2121

22-
expect(wrapper.update().html()).toContain("84");
22+
expect(wrapper.update().html()).toContain('84');
2323
});
2424
});
2525

@@ -28,21 +28,18 @@ describe('Module Component', () => {
2828
const importer = () => Promise.resolve((x: number) => x + 42);
2929

3030
const wrapper = mount(
31-
<ImportedModule
32-
import={importer}
33-
fallback={"loading"}
34-
>
35-
{(fn) => <span>{fn(42)}</span>}
31+
<ImportedModule import={importer} fallback={'loading'}>
32+
{fn => <span>{fn(42)}</span>}
3633
</ImportedModule>
3734
);
3835

39-
expect(wrapper.update().html()).toContain("loading");
36+
expect(wrapper.update().html()).toContain('loading');
4037

4138
await act(async () => {
4239
await done();
4340
});
4441

45-
expect(wrapper.update().html()).toContain("84");
42+
expect(wrapper.update().html()).toContain('84');
4643
});
47-
})
48-
});
44+
});
45+
});

0 commit comments

Comments
 (0)