Skip to content

Commit 30eb726

Browse files
authored
1.1.0 / 1.1.1 (#1)
* Fix window undefined error * Update .npmignore * Switch from webpack to rollup * Remove old lib files * Update README.md * 1.1.1
1 parent 768fb97 commit 30eb726

19 files changed

+271
-2647
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
node_modules
22
.DS_Store
33
yarn-error.log
4+
.rpt2_cache

.npmignore

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
src
22

33
tsconfig.json
4-
.travis.yml
54
.prettierrc
65

76
.eslintrc.js
8-
/index.d.ts
9-
webpack.config.js
7+
rollup.config.js
108
yarn-error.log
9+
.rpt2_cache

.travis.yml

-3
This file was deleted.

CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# react-viewport-hooks Changelog
22

3+
## 1.1.0 / 1.1.1 (2019-08-13)
4+
#### Bug Fix
5+
- fixed `window id undefined` error in SSR apps
6+
7+
#### Repository Changes
8+
- added ES module
9+
310
## 1.0.1 / 1.0.2 (2019-08-05)
411
#### New Feature
512
- `useViewport` hook

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Name | Type | Description
3636

3737
## Example
3838
```js
39-
import React, { useEffect } from 'react';
39+
import React from 'react';
4040
import { useViewport } from 'react-viewport-hooks';
4141

4242
const App = () => {

lib/index.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
export declare const useViewport: (options?: {
2-
updateOnResize: boolean;
3-
}) => {
4-
vw: number;
5-
vh: number;
6-
};
1+
export declare const useViewport: (options?: {
2+
updateOnResize: boolean;
3+
}) => {
4+
vw: number;
5+
vh: number;
6+
};

lib/react-viewport-hooks.cjs.js

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/react-viewport-hooks.cjs.js.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/react-viewport-hooks.esm.js

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/react-viewport-hooks.esm.js.map

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/react-viewport-hooks.js

-138
This file was deleted.

lib/react-viewport-hooks.js.map

-1
This file was deleted.

lib/react-viewport-hooks.min.js

-1
This file was deleted.

package.json

+13-14
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
{
22
"name": "react-viewport-hooks",
3-
"version": "1.0.2",
3+
"version": "1.1.1",
44
"description": "Get real viewport width & height",
55
"author": "Jakub Biesiada",
66
"license": "MIT",
7-
"main": "lib/react-viewport-hooks.min.js",
7+
"main": "lib/react-viewport-hooks.cjs.js",
8+
"module": "lib/react-viewport-hooks.esm.js",
89
"types": "lib/index.d.ts",
910
"scripts": {
10-
"release": "npm run prettier && npm run lint && npm run build:dev && npm run build",
11-
"build": "webpack --env build",
12-
"build:dev": "webpack --env dev",
11+
"release": "rimraf lib/* && npm run prettier && npm run lint && npm run build",
12+
"build": "rollup -c",
1313
"watch": "npm run build -- --watch",
14-
"watch:dev": "npm run build:dev -- --watch",
1514
"lint": "eslint 'src/**/*.tsx' --fix",
1615
"prettier": "prettier --write 'src/**/*.tsx'"
1716
},
@@ -30,21 +29,21 @@
3029
},
3130
"homepage": "https://github.com/JB1905/react-viewport-hooks#readme",
3231
"devDependencies": {
33-
"@types/react": "^16.8.24",
32+
"@types/react": "^16.9.1",
3433
"@typescript-eslint/parser": "^1.13.0",
3534
"eslint": "^6.1.0",
3635
"eslint-config-prettier": "^6.0.0",
3736
"eslint-plugin-prettier": "^3.1.0",
3837
"eslint-plugin-react": "^7.14.3",
39-
"eslint-plugin-react-hooks": "^1.6.1",
40-
"husky": "^3.0.2",
38+
"eslint-plugin-react-hooks": "^1.7.0",
39+
"husky": "^3.0.3",
4140
"lint-staged": "^9.2.1",
4241
"prettier": "^1.18.2",
43-
"react": "^16.8.6",
44-
"ts-loader": "^6.0.4",
45-
"typescript": "^3.5.3",
46-
"webpack": "^4.39.1",
47-
"webpack-cli": "^3.3.6"
42+
"react": "^16.9.0",
43+
"rollup-plugin-node-resolve": "^5.2.0",
44+
"rollup-plugin-terser": "^5.1.1",
45+
"rollup-plugin-typescript2": "^0.22.1",
46+
"typescript": "^3.5.3"
4847
},
4948
"peerDependencies": {
5049
"react": ">=16.8.0"

rollup.config.js

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import resolve from 'rollup-plugin-node-resolve';
2+
import typescript from 'rollup-plugin-typescript2';
3+
import { terser } from 'rollup-plugin-terser';
4+
5+
import pkg from './package.json';
6+
7+
export default {
8+
input: 'src/index.tsx',
9+
output: [
10+
{
11+
file: pkg.main,
12+
format: 'cjs',
13+
sourcemap: true
14+
},
15+
{
16+
file: pkg.module,
17+
format: 'es',
18+
sourcemap: true
19+
}
20+
],
21+
plugins: [resolve(), typescript(), terser()],
22+
external: Object.keys(pkg.peerDependencies)
23+
};

src/index.tsx

+15-11
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,26 @@ const defaultOptions = {
55
};
66

77
export const useViewport = (options = defaultOptions) => {
8-
const [vw, setVW] = useState(window.innerWidth);
9-
const [vh, setVH] = useState(window.innerHeight);
8+
const [vw, setVW] = useState(0);
9+
const [vh, setVH] = useState(0);
1010

1111
const { updateOnResize } = options;
1212

1313
useEffect(() => {
14+
const setSizes = () => {
15+
if (window.innerWidth !== vw) {
16+
setVW(window.innerWidth);
17+
}
18+
19+
if (window.innerHeight !== vh) {
20+
setVH(window.innerHeight);
21+
}
22+
};
23+
24+
setSizes();
25+
1426
if (updateOnResize) {
15-
window.addEventListener('resize', () => {
16-
if (window.innerWidth !== vw) {
17-
setVW(window.innerWidth);
18-
}
19-
20-
if (window.innerHeight !== vh) {
21-
setVH(window.innerHeight);
22-
}
23-
});
27+
window.addEventListener('resize', setSizes);
2428
}
2529
}, [updateOnResize, vh, vw]);
2630

tsconfig.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"compilerOptions": {
3-
"target": "es6",
4-
"module": "commonjs",
3+
"target": "es5",
4+
"module": "esnext",
55
"checkJs": false,
66
"declaration": true,
77
"jsx": "react",

webpack.config.js

-40
This file was deleted.

0 commit comments

Comments
 (0)