Skip to content

Commit f4b8b78

Browse files
committed
Add prettier
1 parent 5046267 commit f4b8b78

20 files changed

+336
-153
lines changed

.eslintrc.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@ module.exports = {
33

44
'extends': [
55
'@nighttrax/eslint-config-tsx',
6-
'plugin:import/errors'
6+
'plugin:import/errors',
7+
'prettier',
8+
'prettier/react',
9+
'prettier/@typescript-eslint'
710
],
811

9-
'plugins': ['import'],
12+
'plugins': ['import', 'prettier'],
1013

1114
'rules': {
1215
'import/no-extraneous-dependencies': ['error', {
1316
devDependencies: false
14-
}]
17+
}],
18+
'prettier/prettier': 'error'
1519
},
1620

1721
'settings': {

.prettierrc.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
singleQuote: true
3+
};

package.json

+3
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,16 @@
2828
"@nighttrax/eslint-config-tsx": "~3.0.0",
2929
"@typescript-eslint/eslint-plugin": "~2.4.0",
3030
"eslint": "~6.5.0",
31+
"eslint-config-prettier": "~6.4.0",
3132
"eslint-plugin-import": "~2.18.2",
33+
"eslint-plugin-prettier": "~3.1.1",
3234
"eslint-import-resolver-typescript": "~1.1.1",
3335
"eslint-plugin-jsx-a11y": "~6.2.3",
3436
"eslint-plugin-react": "~7.16.0",
3537
"husky": "~3.0.0",
3638
"lerna": "~3.18.0",
3739
"lint-staged": "~9.4.0",
40+
"prettier": "~1.18.2",
3841
"ts-node": "~8.4.0",
3942
"typescript": "~3.6.0"
4043
}

packages/react/src/config/webpack.config.js

+40-30
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,16 @@ const babelLoader = {
1717
supportsStaticESM: false
1818
},
1919
configFile: false,
20-
plugins: [[
21-
require.resolve('babel-plugin-istanbul'), {
22-
compact: false,
23-
exclude: [],
24-
useInlineSourceMaps: false
25-
}
26-
]]
20+
plugins: [
21+
[
22+
require.resolve('babel-plugin-istanbul'),
23+
{
24+
compact: false,
25+
exclude: [],
26+
useInlineSourceMaps: false
27+
}
28+
]
29+
]
2730
}
2831
};
2932

@@ -51,14 +54,18 @@ const tsLoader = {
5154
function getStyleLoaders(isProd, customLoader) {
5255
return [
5356
// Add <style> tags in dev, <link> in prod.
54-
!isProd ? require.resolve('style-loader') : {
55-
loader: MiniCssExtractPlugin.loader
56-
}, {
57+
!isProd
58+
? require.resolve('style-loader')
59+
: {
60+
loader: MiniCssExtractPlugin.loader
61+
},
62+
{
5763
loader: require.resolve('css-loader'),
5864
options: {
5965
sourceMap: true
6066
}
61-
}, {
67+
},
68+
{
6269
loader: require.resolve('postcss-loader'),
6370
options: {
6471
ident: 'postcss',
@@ -74,7 +81,8 @@ function getStyleLoaders(isProd, customLoader) {
7481
],
7582
sourceMap: true
7683
}
77-
}, customLoader && {
84+
},
85+
customLoader && {
7886
loader: require.resolve(customLoader),
7987
options: {
8088
sourceMap: true
@@ -86,7 +94,7 @@ function getStyleLoaders(isProd, customLoader) {
8694
module.exports = webpackEnv => {
8795
const isProd = webpackEnv === 'production';
8896

89-
return ({
97+
return {
9098
output: {
9199
filename: isProd ? '[name].[contentHash].js' : '[name].js',
92100
path: path.join(process.cwd(), 'build')
@@ -95,30 +103,35 @@ module.exports = webpackEnv => {
95103
mode: isProd ? 'production' : 'development',
96104
devtool: isProd ? 'sourcemap' : 'cheap-module-source-map',
97105

98-
...(isProd ? {
99-
devServer: {
100-
host: '0.0.0.0',
101-
port: 3000,
102-
disableHostCheck: true,
103-
hot: !!process.env.COVERAGE,
104-
stats: 'errors-only'
105-
}
106-
} : {}),
106+
...(isProd
107+
? {
108+
devServer: {
109+
host: '0.0.0.0',
110+
port: 3000,
111+
disableHostCheck: true,
112+
hot: !!process.env.COVERAGE,
113+
stats: 'errors-only'
114+
}
115+
}
116+
: {}),
107117

108118
module: {
109119
rules: [
110120
{
111121
test: /\.tsx?$/,
112122
exclude: /node_modules/,
113123
use: process.env.COVERAGE ? [babelLoader, tsLoader] : [tsLoader]
114-
}, {
124+
},
125+
{
115126
test: /\.less$/,
116127
exclude: /node_modules/,
117128
use: getStyleLoaders(isProd, 'less-loader')
118-
}, {
129+
},
130+
{
119131
test: /\.css$/,
120132
use: getStyleLoaders()
121-
}]
133+
}
134+
]
122135
},
123136

124137
resolve: {
@@ -130,12 +143,9 @@ module.exports = webpackEnv => {
130143
new ForkTsCheckerWebpackPlugin({
131144
async: !isProd,
132145
// Don't compile tests and fixtures.
133-
reportFiles: [
134-
'src/**/*',
135-
'!**/?(*.)(spec|test).*'
136-
]
146+
reportFiles: ['src/**/*', '!**/?(*.)(spec|test).*']
137147
}),
138148
...(isProd ? [new HotModuleReplacementPlugin()] : [])
139149
]
140-
});
150+
};
141151
};

packages/react/src/index.ts

+19-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
import { fireEvent, render as rtlRender, wait as rtlWait } from '@testing-library/react/pure';
1+
import {
2+
fireEvent,
3+
render as rtlRender,
4+
wait as rtlWait
5+
} from '@testing-library/react/pure';
26
import $ from 'jquery';
37
import { ReactElement } from 'react';
48
import ReactDOM from 'react-dom';
@@ -26,14 +30,20 @@ function getJQueryContainer() {
2630
* await wait($container => $container.text() === 'foobar');
2731
* ```
2832
*/
29-
export function wait(cb: ($container: JQuery<HTMLElement>) => any, timeout = 1500) {
30-
return rtlWait(() => {
31-
const result = cb(getJQueryContainer());
32-
33-
if (result !== undefined && !result) {
34-
throw new Error('Condition not met');
35-
}
36-
}, { timeout });
33+
export function wait(
34+
cb: ($container: JQuery<HTMLElement>) => any,
35+
timeout = 1500
36+
) {
37+
return rtlWait(
38+
() => {
39+
const result = cb(getJQueryContainer());
40+
41+
if (result !== undefined && !result) {
42+
throw new Error('Condition not met');
43+
}
44+
},
45+
{ timeout }
46+
);
3747
}
3848

3949
/**

packages/react/tests/events.spec.tsx

+51-15
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ describe('Firing events', () => {
99
const cb = new Mock<() => void>();
1010
cb.when(c => c()).returns(undefined);
1111

12-
$render(<button type="button" onClick={() => cb.stub()}>click me</button>);
12+
$render(
13+
<button type="button" onClick={() => cb.stub()}>
14+
click me
15+
</button>
16+
);
1317

1418
click('button');
1519

@@ -20,7 +24,11 @@ describe('Firing events', () => {
2024
const cb = new Mock<() => void>();
2125
cb.when(c => c()).returns(undefined);
2226

23-
const $container = $render(<button type="button" onClick={() => cb.stub()}>click me</button>);
27+
const $container = $render(
28+
<button type="button" onClick={() => cb.stub()}>
29+
click me
30+
</button>
31+
);
2432

2533
click($container.find('button'));
2634

@@ -31,7 +39,11 @@ describe('Firing events', () => {
3139
const cb = new Mock<() => void>();
3240
cb.when(c => c()).returns(undefined);
3341

34-
const $container = $render(<button type="button" onClick={() => cb.stub()}>click me</button>);
42+
const $container = $render(
43+
<button type="button" onClick={() => cb.stub()}>
44+
click me
45+
</button>
46+
);
3547

3648
click($container.find('button')[0]);
3749

@@ -66,10 +78,16 @@ describe('Firing events', () => {
6678
const cb = new Mock<(x: number) => void>();
6779
cb.when(c => c(1)).returns(undefined);
6880

69-
$render(<>
70-
<button type="button" onClick={() => cb.stub(1)}>click me</button>
71-
<button type="button" onClick={() => cb.stub(2)}>click me</button>
72-
</>);
81+
$render(
82+
<>
83+
<button type="button" onClick={() => cb.stub(1)}>
84+
click me
85+
</button>
86+
<button type="button" onClick={() => cb.stub(2)}>
87+
click me
88+
</button>
89+
</>
90+
);
7391

7492
click('button');
7593

@@ -80,10 +98,16 @@ describe('Firing events', () => {
8098
const cb = new Mock<(x: number) => void>();
8199
cb.when(c => c(1)).returns(undefined);
82100

83-
const $container = $render(<>
84-
<button type="button" onClick={() => cb.stub(1)}>click me</button>
85-
<button type="button" onClick={() => cb.stub(2)}>click me</button>
86-
</>);
101+
const $container = $render(
102+
<>
103+
<button type="button" onClick={() => cb.stub(1)}>
104+
click me
105+
</button>
106+
<button type="button" onClick={() => cb.stub(2)}>
107+
click me
108+
</button>
109+
</>
110+
);
87111

88112
click($container.find('button'));
89113

@@ -94,7 +118,9 @@ describe('Firing events', () => {
94118
const cb = new Mock<(s: boolean) => void>();
95119
cb.when(c => c(true)).returns(undefined);
96120

97-
$render(<input type="checkbox" onChange={e => cb.stub(e.currentTarget.checked)} />);
121+
$render(
122+
<input type="checkbox" onChange={e => cb.stub(e.currentTarget.checked)} />
123+
);
98124

99125
click('input');
100126

@@ -105,7 +131,13 @@ describe('Firing events', () => {
105131
const cb = new Mock<(s: boolean) => void>();
106132
cb.when(c => c(false)).returns(undefined);
107133

108-
$render(<input type="checkbox" checked onChange={e => cb.stub(e.currentTarget.checked)} />);
134+
$render(
135+
<input
136+
type="checkbox"
137+
checked
138+
onChange={e => cb.stub(e.currentTarget.checked)}
139+
/>
140+
);
109141

110142
click('input');
111143

@@ -116,7 +148,9 @@ describe('Firing events', () => {
116148
const cb = new Mock<(s: boolean) => void>();
117149
cb.when(c => c(true)).returns(undefined);
118150

119-
$render(<input type="radio" onChange={e => cb.stub(e.currentTarget.checked)} />);
151+
$render(
152+
<input type="radio" onChange={e => cb.stub(e.currentTarget.checked)} />
153+
);
120154

121155
click('input');
122156

@@ -138,7 +172,9 @@ describe('Firing events', () => {
138172
const cb = new Mock<(s: string) => void>();
139173
cb.when(c => c('foobar')).returns(undefined);
140174

141-
$render(<input type="text" onChange={e => cb.stub(e.currentTarget.value)} />);
175+
$render(
176+
<input type="text" onChange={e => cb.stub(e.currentTarget.value)} />
177+
);
142178

143179
change('input', 'foobar');
144180

0 commit comments

Comments
 (0)