Skip to content

Commit e778923

Browse files
authored
Merge pull request #53 from nutboltu/fix/react-dependencies
fix: make react and react dom as peer dependencies
2 parents 63b233a + 618ce5e commit e778923

File tree

8 files changed

+50
-58
lines changed

8 files changed

+50
-58
lines changed

.npmignore

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
1+
.github
12
.vscode
23
.idea
34
src/
45
docs/
6+
test/
57
README.md
8+
jest.config.js
69
LICENSE
10+
SECURITY.md
711
.babelrc
812
.gitignore
913
.eslintignore
1014
.eslintrc
11-
yarn.lock
15+
webpack.config.js
16+
webpack.production.config.js
17+
yarn.lock

dist/index.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jest.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module.exports = {
2-
setupFilesAfterEnv: ["<rootDir>tests/test.setup.js"]
3-
}
2+
setupFilesAfterEnv: ['<rootDir>tests/test.setup.js'],
3+
};

package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-search-field",
3-
"version": "2.0.0",
3+
"version": "2.0.1",
44
"description": "This is a simple search field component for react",
55
"main": "dist/index.min.js",
66
"scripts": {
@@ -25,8 +25,6 @@
2525
},
2626
"dependencies": {
2727
"prop-types": "15.7.2",
28-
"react": "16.9.0",
29-
"react-dom": "16.9.0",
3028
"react-github-btn": "1.2.0",
3129
"typeco": "1.0.0"
3230
},
@@ -56,6 +54,10 @@
5654
"webpack-cli": "3.3.9",
5755
"webpack-dev-server": "3.11.0"
5856
},
57+
"peerDependencies": {
58+
"react": "16.9.0",
59+
"react-dom": "16.9.0"
60+
},
5961
"author": "Farhad Yasir",
6062
"license": "MIT"
6163
}

src/components/SearchField.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ const searchFieldInputStyle = {
2929
outline: 'none',
3030
border: 'none',
3131
fontSize: 14,
32-
padding: 10,
32+
padding: '0 8px',
3333
flex: 1,
3434
color: '#5a5a5a',
3535
fontWeight: 100,
@@ -87,8 +87,8 @@ const SearchField = ({
8787
}, [onChange, setValue]);
8888

8989
const onEnterHandler = useCallback((event) => {
90-
const isEnterPressed = event.which === ENTER_KEY ||
91-
event.keyCode === ENTER_KEY;
90+
const isEnterPressed = event.which === ENTER_KEY
91+
|| event.keyCode === ENTER_KEY;
9292
if (isEnterPressed && TypeChecker.isFunction(onEnter)) {
9393
onEnter(event.target.value, event);
9494
}
@@ -98,7 +98,7 @@ const SearchField = ({
9898
if (TypeChecker.isFunction(onSearchClick)) {
9999
onSearchClick(value);
100100
}
101-
}, [onSearchClick]);
101+
}, [onSearchClick, value]);
102102

103103
const onBlurHandler = useCallback((event) => {
104104
if (TypeChecker.isFunction(onBlur)) {

webpack.config.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,37 @@
1-
const path = require("path");
2-
const HtmlWebpackPlugin = require("html-webpack-plugin");
3-
const CopyWebpackPlugin = require("copy-webpack-plugin");
4-
const TerserPlugin = require("terser-webpack-plugin");
1+
const path = require('path');
2+
const HtmlWebpackPlugin = require('html-webpack-plugin');
3+
const CopyWebpackPlugin = require('copy-webpack-plugin');
4+
const TerserPlugin = require('terser-webpack-plugin');
55

66
module.exports = {
7-
mode: "development",
8-
entry: path.resolve(__dirname, "src/docs/index.jsx"),
7+
mode: 'development',
8+
entry: path.resolve(__dirname, 'src/docs/index.jsx'),
99
output: {
10-
filename: "bundle.min.js",
11-
path: path.resolve(__dirname, "docs"),
10+
filename: 'bundle.min.js',
11+
path: path.resolve(__dirname, 'docs'),
1212
},
1313
resolve: {
14-
extensions: [".js", ".jsx"],
15-
modules: [path.resolve(__dirname, "./src"), "node_modules"],
14+
extensions: ['.js', '.jsx'],
15+
modules: [path.resolve(__dirname, './src'), 'node_modules'],
1616
},
1717
module: {
1818
rules: [
1919
{
2020
test: /\.jsx$/,
2121
exclude: /node_modules/,
2222
use: {
23-
loader: "babel-loader",
23+
loader: 'babel-loader',
2424
},
2525
},
2626
{
2727
test: /\.css$/,
28-
use: ["style-loader", "css-loader"],
28+
use: ['style-loader', 'css-loader'],
2929
},
3030
],
3131
},
3232
devServer: {
33-
contentBase: "docs",
34-
host: "localhost",
33+
contentBase: 'docs',
34+
host: 'localhost',
3535
},
3636
plugins: [
3737
new TerserPlugin({
@@ -40,12 +40,12 @@ module.exports = {
4040
terserOptions: { ecma: 8 },
4141
}),
4242
new HtmlWebpackPlugin({
43-
template: path.join(__dirname, "src/docs/index.html"),
43+
template: path.join(__dirname, 'src/docs/index.html'),
4444
}),
4545
new CopyWebpackPlugin({
4646
patterns: [
4747
{
48-
from: path.join(__dirname, "src/docs/react-search-field.png"),
48+
from: path.join(__dirname, 'src/docs/react-search-field.png'),
4949
},
5050
],
5151
}),

webpack.production.config.js

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,19 @@ module.exports = {
3333
terserOptions: { ecma: 8 },
3434
}),
3535
],
36-
externals: [
37-
'react',
38-
'react-dom',
39-
],
36+
externals: {
37+
// Use external version of React
38+
react: {
39+
commonjs: 'react',
40+
commonjs2: 'react',
41+
amd: 'react',
42+
root: 'React',
43+
},
44+
'react-dom': {
45+
commonjs: 'react-dom',
46+
commonjs2: 'react-dom',
47+
amd: 'react-dom',
48+
root: 'ReactDOM',
49+
},
50+
},
4051
};

yarn.lock

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6828,16 +6828,6 @@ rc@^1.2.7:
68286828
minimist "^1.2.0"
68296829
strip-json-comments "~2.0.1"
68306830

6831-
6832-
version "16.9.0"
6833-
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962"
6834-
integrity sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ==
6835-
dependencies:
6836-
loose-envify "^1.1.0"
6837-
object-assign "^4.1.1"
6838-
prop-types "^15.6.2"
6839-
scheduler "^0.15.0"
6840-
68416831
68426832
version "1.2.0"
68436833
resolved "https://registry.yarnpkg.com/react-github-btn/-/react-github-btn-1.2.0.tgz#464066f999a77c0eed27980260601b51cbe15614"
@@ -6871,15 +6861,6 @@ react-test-renderer@^16.0.0-0:
68716861
react-is "^16.8.6"
68726862
scheduler "^0.18.0"
68736863

6874-
6875-
version "16.9.0"
6876-
resolved "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz#40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa"
6877-
integrity sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w==
6878-
dependencies:
6879-
loose-envify "^1.1.0"
6880-
object-assign "^4.1.1"
6881-
prop-types "^15.6.2"
6882-
68836864
read-pkg-up@^2.0.0:
68846865
version "2.0.0"
68856866
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
@@ -7297,14 +7278,6 @@ sax@^1.2.4:
72977278
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
72987279
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
72997280

7300-
scheduler@^0.15.0:
7301-
version "0.15.0"
7302-
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e"
7303-
integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==
7304-
dependencies:
7305-
loose-envify "^1.1.0"
7306-
object-assign "^4.1.1"
7307-
73087281
scheduler@^0.18.0:
73097282
version "0.18.0"
73107283
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4"

0 commit comments

Comments
 (0)