@wiggindev/hooks 0.1.3 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.cjs +7 -43
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.modern.js +51 -1
- package/dist/index.modern.js.map +1 -1
- package/dist/index.module.js +80 -1
- package/dist/index.module.js.map +1 -1
- package/dist/index.umd.js +87 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/useDocumentEventListener.d.ts +7 -2
- package/dist/useEvent.d.ts +2 -3
- package/dist/useEventListener.d.ts +10 -3
- package/dist/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/usePrevious.d.ts +1 -0
- package/dist/useWindowDimensions.d.ts +4 -0
- package/dist/useWindowEventListener.d.ts +7 -2
- package/package.json +6 -21
- package/src/index.ts +2 -0
- package/src/useDocumentEventListener.ts +1 -1
- package/src/useEvent.ts +1 -2
- package/src/useEventListener.ts +1 -1
- package/src/usePrevious.ts +9 -0
- package/src/useWindowDimensions.ts +34 -0
- package/tsconfig.json +3 -22
- package/.editorconfig +0 -10
- package/.husky/pre-commit +0 -4
- package/.idea/codeStyles/Project.xml +0 -50
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/codestream.xml +0 -7
- package/.idea/hooks.iml +0 -13
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/jsLinters/eslint.xml +0 -6
- package/.idea/modules.xml +0 -9
- package/.idea/prettier.xml +0 -7
- package/.idea/vcs.xml +0 -7
- package/.prettierignore +0 -2
- package/.prettierrc.json +0 -9
- package/.yarn/plugins/@yarnpkg/plugin-typescript.cjs +0 -9
- package/.yarn/plugins/@yarnpkg/plugin-version.cjs +0 -550
- package/.yarn/versions/8b4bba28.yml +0 -0
- package/.yarn/versions/ee3e92fc.yml +0 -0
- package/dist/events.d.ts +0 -4
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/lint-staged.config.cjs +0 -9
- package/src/events.ts +0 -6
package/.eslintrc.cjs
CHANGED
@@ -1,54 +1,18 @@
|
|
1
1
|
module.exports = {
|
2
|
-
root: true,
|
3
|
-
parser: '@typescript-eslint/parser',
|
4
2
|
parserOptions: {
|
5
3
|
ecmaFeatures: {
|
6
4
|
jsx: true,
|
7
5
|
},
|
8
6
|
},
|
9
|
-
|
10
|
-
|
7
|
+
settings: {
|
8
|
+
react: {
|
9
|
+
version: 'detect',
|
10
|
+
},
|
11
|
+
},
|
12
|
+
plugins: ['react'],
|
13
|
+
extends: ['plugin:react/recommended'],
|
11
14
|
rules: {
|
12
|
-
'prefer-const': 'error',
|
13
|
-
'no-unused-vars': 'off',
|
14
|
-
'no-cond-assign': ['error', 'always'],
|
15
|
-
'@typescript-eslint/no-unused-vars': [
|
16
|
-
'error',
|
17
|
-
{ ignoreRestSiblings: true },
|
18
|
-
],
|
19
|
-
'@typescript-eslint/no-explicit-any': 'error',
|
20
15
|
'react/jsx-uses-react': 'error',
|
21
16
|
'react/jsx-uses-vars': 'error',
|
22
|
-
'@next/next/no-html-link-for-pages': 'off',
|
23
|
-
'prettier/prettier': 'error',
|
24
17
|
},
|
25
|
-
overrides: [
|
26
|
-
{
|
27
|
-
files: ['*.ts', '*.tsx'],
|
28
|
-
extends: [
|
29
|
-
'plugin:@typescript-eslint/recommended',
|
30
|
-
'plugin:@typescript-eslint/recommended-requiring-type-checking',
|
31
|
-
],
|
32
|
-
parserOptions: {
|
33
|
-
tsconfigRootDir: __dirname,
|
34
|
-
project: ['./tsconfig.json'],
|
35
|
-
},
|
36
|
-
},
|
37
|
-
{
|
38
|
-
files: ['*.js'],
|
39
|
-
rules: {
|
40
|
-
'@typescript-eslint/no-var-requires': 'off',
|
41
|
-
},
|
42
|
-
},
|
43
|
-
],
|
44
|
-
ignorePatterns: [
|
45
|
-
'node_modules',
|
46
|
-
'.fleet',
|
47
|
-
'.yarn',
|
48
|
-
'.idea',
|
49
|
-
'.next',
|
50
|
-
'.vercel',
|
51
|
-
'dist',
|
52
|
-
'.pnp.*',
|
53
|
-
],
|
54
18
|
};
|
package/dist/index.cjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
var e=require("react"),t=require("@wiggindev/utils");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/*#__PURE__*/n(e),r="undefined"!=typeof window?u.default.useLayoutEffect:u.default.useEffect,f=function(e){var t=u.default.useRef(e);return r(function(){t.current=e}),u.default.useMemo(function(){return t.current},[])};exports.useDocumentEventListener=function(e,n){var r=f(n);u.default.useEffect(function(){if(document&&document.addEventListener)return t.events.document.on(e,r),function(){return t.events.document.off(e,r)}},[e,r])},exports.useEvent=f,exports.useEventListener=function(e,n,r){var o=f(n);u.default.useEffect(function(){var n=r.current;if(n&&n.addEventListener)return t.events.element.on(n,e,o),function(){return t.events.element.off(n,e,o)}},[r,e,o])},exports.useIsomorphicLayoutEffect=r,exports.useWindowEventListener=function(e,n){var r=f(n);u.default.useEffect(function(){if(window&&window.addEventListener)return t.events.window.on(e,r),function(){return t.events.window.off(e,r)}},[e,r])};
|
1
|
+
var e=require("react"),t=require("@wiggindev/utils");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/*#__PURE__*/n(e),r="undefined"!=typeof window?u.default.useLayoutEffect:u.default.useEffect,f=function(e){var t=u.default.useRef(e);return r(function(){t.current=e}),u.default.useMemo(function(){return t.current},[])};exports.useDocumentEventListener=function(e,n){var r=f(n);u.default.useEffect(function(){if(document&&document.addEventListener)return t.events.document.on(e,r),function(){return t.events.document.off(e,r)}},[e,r])},exports.useEvent=f,exports.useEventListener=function(e,n,r){var o=f(n);u.default.useEffect(function(){var n=r.current;if(n&&n.addEventListener)return t.events.element.on(n,e,o),function(){return t.events.element.off(n,e,o)}},[r,e,o])},exports.useIsomorphicLayoutEffect=r,exports.usePrevious=function(e){var t=u.default.useRef();return u.default.useEffect(function(){t.current=e},[e]),t.current},exports.useWindowEventListener=function(e,n){var r=f(n);u.default.useEffect(function(){if(window&&window.addEventListener)return t.events.window.on(e,r),function(){return t.events.window.off(e,r)}},[e,r])};
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useDocumentEventListener.ts","../src/useEventListener.ts","../src/useWindowEventListener.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport {
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useDocumentEventListener.ts","../src/useEventListener.ts","../src/usePrevious.ts","../src/useWindowEventListener.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport { Callback } from '@wiggindev/utils';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\nexport const useEvent = <C extends Callback>(callback: C): C => {\n const callbackRef = React.useRef(callback);\n useIsomorphicLayoutEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => callbackRef.current, []);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useDocumentEventListener = <K extends EventName<DocumentEventMap>>(\n eventName: K,\n listener: EventListener<DocumentEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!document || !document.addEventListener) {\n return;\n }\n events.document.on(eventName, stableListener);\n return () => events.document.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useEventListener = <\n K extends EventName<HTMLElementEventMap>,\n E extends HTMLElement\n>(\n eventName: K,\n listener: EventListener<HTMLElementEventMap, K>,\n element: React.RefObject<E>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n const node = element.current;\n if (!node || !node.addEventListener) {\n return;\n }\n events.element.on(node, eventName, stableListener);\n return () => events.element.off(node, eventName, stableListener);\n }, [element, eventName, stableListener]);\n};\n","import React from 'react';\n\nexport const usePrevious = <T>(value: T) => {\n const stateRef = React.useRef<T>();\n React.useEffect(() => {\n stateRef.current = value;\n }, [value]);\n return stateRef.current;\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useWindowEventListener = <K extends EventName<WindowEventMap>>(\n eventName: K,\n listener: EventListener<WindowEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!window || !window.addEventListener) {\n return;\n }\n events.window.on(eventName, stableListener);\n return () => events.window.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","useEvent","callback","callbackRef","useRef","current","useMemo","eventName","listener","stableListener","document","addEventListener","events","on","off","element","node","value","stateRef"],"mappings":"qJAEaA,EACS,oBAAXC,OAAyBC,EAAAA,QAAMC,gBAAkBD,EAAAA,QAAME,UCCrDC,EAAW,SAAqBC,GACzC,IAAMC,EAAcL,EAAK,QAACM,OAAOF,GAIjC,OAHAN,EAA0B,WACtBO,EAAYE,QAAUH,IAEnBJ,UAAMQ,QAAQ,WAAA,OAAMH,EAAYE,SAAS,sCCLZ,SACpCE,EACAC,GAEA,IAAMC,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,GAAKU,UAAaA,SAASC,iBAI3B,OADAC,EAAMA,OAACF,SAASG,GAAGN,EAAWE,GACjBG,WAAAA,OAAAA,EAAAA,OAAOF,SAASI,IAAIP,EAAWE,KAC7C,CAACF,EAAWE,iDCXa,SAI5BF,EACAC,EACAO,GAEA,IAAMN,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,IAAMgB,EAAOD,EAAQV,QACrB,GAAKW,GAASA,EAAKL,iBAInB,OADAC,EAAMA,OAACG,QAAQF,GAAGG,EAAMT,EAAWE,qBACtBG,EAAMA,OAACG,QAAQD,IAAIE,EAAMT,EAAWE,KAClD,CAACM,EAASR,EAAWE,6DClBD,SAAIQ,GAC3B,IAAMC,EAAWpB,EAAK,QAACM,SAIvB,OAHAN,EAAK,QAACE,UAAU,WACZkB,EAASb,QAAUY,GACpB,CAACA,IACGC,EAASb,wCCHkB,SAClCE,EACAC,GAEA,IAAMC,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,GAAKH,QAAWA,OAAOc,iBAIvB,OADAC,EAAMA,OAACf,OAAOgB,GAAGN,EAAWE,GACfG,WAAAA,OAAAA,EAAAA,OAAOf,OAAOiB,IAAIP,EAAWE,KAC3C,CAACF,EAAWE"}
|
package/dist/index.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
export * from './useIsomorphicLayoutEffect';
|
2
|
-
export * from './useEvent';
|
3
|
-
export * from './useEventListener';
|
4
|
-
export * from './useDocumentEventListener';
|
5
|
-
export * from './useWindowEventListener';
|
1
|
+
export * from './useIsomorphicLayoutEffect';
|
2
|
+
export * from './useEvent';
|
3
|
+
export * from './useEventListener';
|
4
|
+
export * from './useDocumentEventListener';
|
5
|
+
export * from './useWindowEventListener';
|
6
|
+
export * from './usePrevious';
|
package/dist/index.modern.js
CHANGED
@@ -1,2 +1,52 @@
|
|
1
|
-
import e from
|
1
|
+
import e from 'react';
|
2
|
+
import { events as t } from '@wiggindev/utils';
|
3
|
+
const n = 'undefined' != typeof window ? e.useLayoutEffect : e.useEffect,
|
4
|
+
o = t => {
|
5
|
+
const o = e.useRef(t);
|
6
|
+
return (
|
7
|
+
n(() => {
|
8
|
+
o.current = t;
|
9
|
+
}),
|
10
|
+
e.useMemo(() => o.current, [])
|
11
|
+
);
|
12
|
+
},
|
13
|
+
r = (n, r, f) => {
|
14
|
+
const u = o(r);
|
15
|
+
e.useEffect(() => {
|
16
|
+
const e = f.current;
|
17
|
+
if (e && e.addEventListener)
|
18
|
+
return t.element.on(e, n, u), () => t.element.off(e, n, u);
|
19
|
+
}, [f, n, u]);
|
20
|
+
},
|
21
|
+
f = (n, r) => {
|
22
|
+
const f = o(r);
|
23
|
+
e.useEffect(() => {
|
24
|
+
if (document && document.addEventListener)
|
25
|
+
return t.document.on(n, f), () => t.document.off(n, f);
|
26
|
+
}, [n, f]);
|
27
|
+
},
|
28
|
+
u = (n, r) => {
|
29
|
+
const f = o(r);
|
30
|
+
e.useEffect(() => {
|
31
|
+
if (window && window.addEventListener)
|
32
|
+
return t.window.on(n, f), () => t.window.off(n, f);
|
33
|
+
}, [n, f]);
|
34
|
+
},
|
35
|
+
c = t => {
|
36
|
+
const n = e.useRef();
|
37
|
+
return (
|
38
|
+
e.useEffect(() => {
|
39
|
+
n.current = t;
|
40
|
+
}, [t]),
|
41
|
+
n.current
|
42
|
+
);
|
43
|
+
};
|
44
|
+
export {
|
45
|
+
f as useDocumentEventListener,
|
46
|
+
o as useEvent,
|
47
|
+
r as useEventListener,
|
48
|
+
n as useIsomorphicLayoutEffect,
|
49
|
+
c as usePrevious,
|
50
|
+
u as useWindowEventListener,
|
51
|
+
};
|
2
52
|
//# sourceMappingURL=index.modern.js.map
|
package/dist/index.modern.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useEventListener.ts","../src/useDocumentEventListener.ts","../src/useWindowEventListener.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport {
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useEventListener.ts","../src/useDocumentEventListener.ts","../src/useWindowEventListener.ts","../src/usePrevious.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport { Callback } from '@wiggindev/utils';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\nexport const useEvent = <C extends Callback>(callback: C): C => {\n const callbackRef = React.useRef(callback);\n useIsomorphicLayoutEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => callbackRef.current, []);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useEventListener = <\n K extends EventName<HTMLElementEventMap>,\n E extends HTMLElement\n>(\n eventName: K,\n listener: EventListener<HTMLElementEventMap, K>,\n element: React.RefObject<E>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n const node = element.current;\n if (!node || !node.addEventListener) {\n return;\n }\n events.element.on(node, eventName, stableListener);\n return () => events.element.off(node, eventName, stableListener);\n }, [element, eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useDocumentEventListener = <K extends EventName<DocumentEventMap>>(\n eventName: K,\n listener: EventListener<DocumentEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!document || !document.addEventListener) {\n return;\n }\n events.document.on(eventName, stableListener);\n return () => events.document.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useWindowEventListener = <K extends EventName<WindowEventMap>>(\n eventName: K,\n listener: EventListener<WindowEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!window || !window.addEventListener) {\n return;\n }\n events.window.on(eventName, stableListener);\n return () => events.window.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\n\nexport const usePrevious = <T>(value: T) => {\n const stateRef = React.useRef<T>();\n React.useEffect(() => {\n stateRef.current = value;\n }, [value]);\n return stateRef.current;\n};\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","useEvent","callback","callbackRef","useRef","current","useMemo","useEventListener","eventName","listener","element","stableListener","node","addEventListener","events","on","off","useDocumentEventListener","document","useWindowEventListener","usePrevious","value","stateRef"],"mappings":"+DAEaA,MAAAA,EACS,oBAAXC,OAAyBC,EAAMC,gBAAkBD,EAAME,UCCrDC,EAAgCC,IACzC,MAAMC,EAAcL,EAAMM,OAAOF,GAIjC,OAHAN,EAA0B,KACtBO,EAAYE,QAAUH,IAEnBJ,EAAMQ,QAAQ,IAAMH,EAAYE,QAAS,KCLvCE,EAAmB,CAI5BC,EACAC,EACAC,KAEA,MAAMC,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,KACZ,MAAMY,EAAOF,EAAQL,QACrB,GAAKO,GAASA,EAAKC,iBAInB,OADAC,EAAOJ,QAAQK,GAAGH,EAAMJ,EAAWG,GAC5B,IAAMG,EAAOJ,QAAQM,IAAIJ,EAAMJ,EAAWG,IAClD,CAACD,EAASF,EAAWG,KChBfM,EAA2B,CACpCT,EACAC,KAEA,MAAME,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,KACZ,GAAKkB,UAAaA,SAASL,iBAI3B,OADAC,EAAOI,SAASH,GAAGP,EAAWG,GACvB,IAAMG,EAAOI,SAASF,IAAIR,EAAWG,IAC7C,CAACH,EAAWG,KCXNQ,EAAyB,CAClCX,EACAC,KAEA,MAAME,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,KACZ,GAAKH,QAAWA,OAAOgB,iBAIvB,OADAC,EAAOjB,OAAOkB,GAAGP,EAAWG,GACrB,IAAMG,EAAOjB,OAAOmB,IAAIR,EAAWG,IAC3C,CAACH,EAAWG,KCbNS,EAAkBC,IAC3B,MAAMC,EAAWxB,EAAMM,SAIvB,OAHAN,EAAME,UAAU,KACZsB,EAASjB,QAAUgB,GACpB,CAACA,IACGC,EAASjB"}
|
package/dist/index.module.js
CHANGED
@@ -1,2 +1,81 @@
|
|
1
|
-
import n from
|
1
|
+
import n from 'react';
|
2
|
+
import { events as e } from '@wiggindev/utils';
|
3
|
+
var t = 'undefined' != typeof window ? n.useLayoutEffect : n.useEffect,
|
4
|
+
r = function (e) {
|
5
|
+
var r = n.useRef(e);
|
6
|
+
return (
|
7
|
+
t(function () {
|
8
|
+
r.current = e;
|
9
|
+
}),
|
10
|
+
n.useMemo(function () {
|
11
|
+
return r.current;
|
12
|
+
}, [])
|
13
|
+
);
|
14
|
+
},
|
15
|
+
u = function (t, u, f) {
|
16
|
+
var o = r(u);
|
17
|
+
n.useEffect(
|
18
|
+
function () {
|
19
|
+
var n = f.current;
|
20
|
+
if (n && n.addEventListener)
|
21
|
+
return (
|
22
|
+
e.element.on(n, t, o),
|
23
|
+
function () {
|
24
|
+
return e.element.off(n, t, o);
|
25
|
+
}
|
26
|
+
);
|
27
|
+
},
|
28
|
+
[f, t, o]
|
29
|
+
);
|
30
|
+
},
|
31
|
+
f = function (t, u) {
|
32
|
+
var f = r(u);
|
33
|
+
n.useEffect(
|
34
|
+
function () {
|
35
|
+
if (document && document.addEventListener)
|
36
|
+
return (
|
37
|
+
e.document.on(t, f),
|
38
|
+
function () {
|
39
|
+
return e.document.off(t, f);
|
40
|
+
}
|
41
|
+
);
|
42
|
+
},
|
43
|
+
[t, f]
|
44
|
+
);
|
45
|
+
},
|
46
|
+
o = function (t, u) {
|
47
|
+
var f = r(u);
|
48
|
+
n.useEffect(
|
49
|
+
function () {
|
50
|
+
if (window && window.addEventListener)
|
51
|
+
return (
|
52
|
+
e.window.on(t, f),
|
53
|
+
function () {
|
54
|
+
return e.window.off(t, f);
|
55
|
+
}
|
56
|
+
);
|
57
|
+
},
|
58
|
+
[t, f]
|
59
|
+
);
|
60
|
+
},
|
61
|
+
i = function (e) {
|
62
|
+
var t = n.useRef();
|
63
|
+
return (
|
64
|
+
n.useEffect(
|
65
|
+
function () {
|
66
|
+
t.current = e;
|
67
|
+
},
|
68
|
+
[e]
|
69
|
+
),
|
70
|
+
t.current
|
71
|
+
);
|
72
|
+
};
|
73
|
+
export {
|
74
|
+
f as useDocumentEventListener,
|
75
|
+
r as useEvent,
|
76
|
+
u as useEventListener,
|
77
|
+
t as useIsomorphicLayoutEffect,
|
78
|
+
i as usePrevious,
|
79
|
+
o as useWindowEventListener,
|
80
|
+
};
|
2
81
|
//# sourceMappingURL=index.module.js.map
|
package/dist/index.module.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.module.js","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useEventListener.ts","../src/useDocumentEventListener.ts","../src/useWindowEventListener.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport {
|
1
|
+
{"version":3,"file":"index.module.js","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useEventListener.ts","../src/useDocumentEventListener.ts","../src/useWindowEventListener.ts","../src/usePrevious.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport { Callback } from '@wiggindev/utils';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\nexport const useEvent = <C extends Callback>(callback: C): C => {\n const callbackRef = React.useRef(callback);\n useIsomorphicLayoutEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => callbackRef.current, []);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useEventListener = <\n K extends EventName<HTMLElementEventMap>,\n E extends HTMLElement\n>(\n eventName: K,\n listener: EventListener<HTMLElementEventMap, K>,\n element: React.RefObject<E>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n const node = element.current;\n if (!node || !node.addEventListener) {\n return;\n }\n events.element.on(node, eventName, stableListener);\n return () => events.element.off(node, eventName, stableListener);\n }, [element, eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useDocumentEventListener = <K extends EventName<DocumentEventMap>>(\n eventName: K,\n listener: EventListener<DocumentEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!document || !document.addEventListener) {\n return;\n }\n events.document.on(eventName, stableListener);\n return () => events.document.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useWindowEventListener = <K extends EventName<WindowEventMap>>(\n eventName: K,\n listener: EventListener<WindowEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!window || !window.addEventListener) {\n return;\n }\n events.window.on(eventName, stableListener);\n return () => events.window.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\n\nexport const usePrevious = <T>(value: T) => {\n const stateRef = React.useRef<T>();\n React.useEffect(() => {\n stateRef.current = value;\n }, [value]);\n return stateRef.current;\n};\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","useEvent","callback","callbackRef","useRef","current","useMemo","useEventListener","eventName","listener","element","stableListener","node","addEventListener","events","on","off","useDocumentEventListener","document","useWindowEventListener","usePrevious","value","stateRef"],"mappings":"+DAEaA,IAAAA,EACS,oBAAXC,OAAyBC,EAAMC,gBAAkBD,EAAME,UCCrDC,EAAW,SAAqBC,GACzC,IAAMC,EAAcL,EAAMM,OAAOF,GAIjC,OAHAN,EAA0B,WACtBO,EAAYE,QAAUH,IAEnBJ,EAAMQ,QAAQ,WAAA,OAAMH,EAAYE,SAAS,KCLvCE,EAAmB,SAI5BC,EACAC,EACAC,GAEA,IAAMC,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,WACZ,IAAMY,EAAOF,EAAQL,QACrB,GAAKO,GAASA,EAAKC,iBAInB,OADAC,EAAOJ,QAAQK,GAAGH,EAAMJ,EAAWG,qBACtBG,EAAOJ,QAAQM,IAAIJ,EAAMJ,EAAWG,KAClD,CAACD,EAASF,EAAWG,KChBfM,EAA2B,SACpCT,EACAC,GAEA,IAAME,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,WACZ,GAAKkB,UAAaA,SAASL,iBAI3B,OADAC,EAAOI,SAASH,GAAGP,EAAWG,GACjBG,WAAAA,OAAAA,EAAOI,SAASF,IAAIR,EAAWG,KAC7C,CAACH,EAAWG,KCXNQ,EAAyB,SAClCX,EACAC,GAEA,IAAME,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,WACZ,GAAKH,QAAWA,OAAOgB,iBAIvB,OADAC,EAAOjB,OAAOkB,GAAGP,EAAWG,GACfG,WAAAA,OAAAA,EAAOjB,OAAOmB,IAAIR,EAAWG,KAC3C,CAACH,EAAWG,KCbNS,EAAc,SAAIC,GAC3B,IAAMC,EAAWxB,EAAMM,SAIvB,OAHAN,EAAME,UAAU,WACZsB,EAASjB,QAAUgB,GACpB,CAACA,IACGC,EAASjB"}
|
package/dist/index.umd.js
CHANGED
@@ -1,2 +1,88 @@
|
|
1
|
-
!
|
1
|
+
!(function (e, n) {
|
2
|
+
'object' == typeof exports && 'undefined' != typeof module
|
3
|
+
? n(exports, require('react'), require('@wiggindev/utils'))
|
4
|
+
: 'function' == typeof define && define.amd
|
5
|
+
? define(['exports', 'react', '@wiggindev/utils'], n)
|
6
|
+
: n(((e || self).hooks = {}), e.react, e.utils);
|
7
|
+
})(this, function (e, n, t) {
|
8
|
+
function u(e) {
|
9
|
+
return e && 'object' == typeof e && 'default' in e ? e : { default: e };
|
10
|
+
}
|
11
|
+
var f = /*#__PURE__*/ u(n),
|
12
|
+
o =
|
13
|
+
'undefined' != typeof window
|
14
|
+
? f.default.useLayoutEffect
|
15
|
+
: f.default.useEffect,
|
16
|
+
r = function (e) {
|
17
|
+
var n = f.default.useRef(e);
|
18
|
+
return (
|
19
|
+
o(function () {
|
20
|
+
n.current = e;
|
21
|
+
}),
|
22
|
+
f.default.useMemo(function () {
|
23
|
+
return n.current;
|
24
|
+
}, [])
|
25
|
+
);
|
26
|
+
};
|
27
|
+
(e.useDocumentEventListener = function (e, n) {
|
28
|
+
var u = r(n);
|
29
|
+
f.default.useEffect(
|
30
|
+
function () {
|
31
|
+
if (document && document.addEventListener)
|
32
|
+
return (
|
33
|
+
t.events.document.on(e, u),
|
34
|
+
function () {
|
35
|
+
return t.events.document.off(e, u);
|
36
|
+
}
|
37
|
+
);
|
38
|
+
},
|
39
|
+
[e, u]
|
40
|
+
);
|
41
|
+
}),
|
42
|
+
(e.useEvent = r),
|
43
|
+
(e.useEventListener = function (e, n, u) {
|
44
|
+
var o = r(n);
|
45
|
+
f.default.useEffect(
|
46
|
+
function () {
|
47
|
+
var n = u.current;
|
48
|
+
if (n && n.addEventListener)
|
49
|
+
return (
|
50
|
+
t.events.element.on(n, e, o),
|
51
|
+
function () {
|
52
|
+
return t.events.element.off(n, e, o);
|
53
|
+
}
|
54
|
+
);
|
55
|
+
},
|
56
|
+
[u, e, o]
|
57
|
+
);
|
58
|
+
}),
|
59
|
+
(e.useIsomorphicLayoutEffect = o),
|
60
|
+
(e.usePrevious = function (e) {
|
61
|
+
var n = f.default.useRef();
|
62
|
+
return (
|
63
|
+
f.default.useEffect(
|
64
|
+
function () {
|
65
|
+
n.current = e;
|
66
|
+
},
|
67
|
+
[e]
|
68
|
+
),
|
69
|
+
n.current
|
70
|
+
);
|
71
|
+
}),
|
72
|
+
(e.useWindowEventListener = function (e, n) {
|
73
|
+
var u = r(n);
|
74
|
+
f.default.useEffect(
|
75
|
+
function () {
|
76
|
+
if (window && window.addEventListener)
|
77
|
+
return (
|
78
|
+
t.events.window.on(e, u),
|
79
|
+
function () {
|
80
|
+
return t.events.window.off(e, u);
|
81
|
+
}
|
82
|
+
);
|
83
|
+
},
|
84
|
+
[e, u]
|
85
|
+
);
|
86
|
+
});
|
87
|
+
});
|
2
88
|
//# sourceMappingURL=index.umd.js.map
|
package/dist/index.umd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useDocumentEventListener.ts","../src/useEventListener.ts","../src/useWindowEventListener.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport {
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useDocumentEventListener.ts","../src/useEventListener.ts","../src/usePrevious.ts","../src/useWindowEventListener.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport { Callback } from '@wiggindev/utils';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\nexport const useEvent = <C extends Callback>(callback: C): C => {\n const callbackRef = React.useRef(callback);\n useIsomorphicLayoutEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => callbackRef.current, []);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useDocumentEventListener = <K extends EventName<DocumentEventMap>>(\n eventName: K,\n listener: EventListener<DocumentEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!document || !document.addEventListener) {\n return;\n }\n events.document.on(eventName, stableListener);\n return () => events.document.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useEventListener = <\n K extends EventName<HTMLElementEventMap>,\n E extends HTMLElement\n>(\n eventName: K,\n listener: EventListener<HTMLElementEventMap, K>,\n element: React.RefObject<E>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n const node = element.current;\n if (!node || !node.addEventListener) {\n return;\n }\n events.element.on(node, eventName, stableListener);\n return () => events.element.off(node, eventName, stableListener);\n }, [element, eventName, stableListener]);\n};\n","import React from 'react';\n\nexport const usePrevious = <T>(value: T) => {\n const stateRef = React.useRef<T>();\n React.useEffect(() => {\n stateRef.current = value;\n }, [value]);\n return stateRef.current;\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useWindowEventListener = <K extends EventName<WindowEventMap>>(\n eventName: K,\n listener: EventListener<WindowEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!window || !window.addEventListener) {\n return;\n }\n events.window.on(eventName, stableListener);\n return () => events.window.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","useEvent","callback","callbackRef","useRef","current","useMemo","eventName","listener","stableListener","document","addEventListener","events","on","off","element","node","value","stateRef"],"mappings":"2ZAEaA,EACS,oBAAXC,OAAyBC,EAAAA,QAAMC,gBAAkBD,EAAAA,QAAME,UCCrDC,EAAW,SAAqBC,GACzC,IAAMC,EAAcL,EAAK,QAACM,OAAOF,GAIjC,OAHAN,EAA0B,WACtBO,EAAYE,QAAUH,IAEnBJ,UAAMQ,QAAQ,WAAA,OAAMH,EAAYE,SAAS,gCCLZ,SACpCE,EACAC,GAEA,IAAMC,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,GAAKU,UAAaA,SAASC,iBAI3B,OADAC,EAAMA,OAACF,SAASG,GAAGN,EAAWE,GACjBG,WAAAA,OAAAA,EAAAA,OAAOF,SAASI,IAAIP,EAAWE,KAC7C,CAACF,EAAWE,qCCXa,SAI5BF,EACAC,EACAO,GAEA,IAAMN,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,IAAMgB,EAAOD,EAAQV,QACrB,GAAKW,GAASA,EAAKL,iBAInB,OADAC,EAAMA,OAACG,QAAQF,GAAGG,EAAMT,EAAWE,qBACtBG,EAAMA,OAACG,QAAQD,IAAIE,EAAMT,EAAWE,KAClD,CAACM,EAASR,EAAWE,iDClBD,SAAIQ,GAC3B,IAAMC,EAAWpB,EAAK,QAACM,SAIvB,OAHAN,EAAK,QAACE,UAAU,WACZkB,EAASb,QAAUY,GACpB,CAACA,IACGC,EAASb,kCCHkB,SAClCE,EACAC,GAEA,IAAMC,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,GAAKH,QAAWA,OAAOc,iBAIvB,OADAC,EAAMA,OAACf,OAAOgB,GAAGN,EAAWE,GACfG,WAAAA,OAAAA,EAAAA,OAAOf,OAAOiB,IAAIP,EAAWE,KAC3C,CAACF,EAAWE"}
|
@@ -1,2 +1,7 @@
|
|
1
|
-
import { EventListener } from '@wiggindev/utils';
|
2
|
-
export declare const useDocumentEventListener: <
|
1
|
+
import { EventName, EventListener } from '@wiggindev/utils';
|
2
|
+
export declare const useDocumentEventListener: <
|
3
|
+
K extends EventName<DocumentEventMap>
|
4
|
+
>(
|
5
|
+
eventName: K,
|
6
|
+
listener: EventListener<DocumentEventMap, K>
|
7
|
+
) => void;
|
package/dist/useEvent.d.ts
CHANGED
@@ -1,3 +1,2 @@
|
|
1
|
-
|
2
|
-
export declare const useEvent: <C extends Callback>(callback: C) => C;
|
3
|
-
export {};
|
1
|
+
import { Callback } from '@wiggindev/utils';
|
2
|
+
export declare const useEvent: <C extends Callback>(callback: C) => C;
|
@@ -1,3 +1,10 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { EventListener } from '@wiggindev/utils';
|
3
|
-
export declare const useEventListener: <
|
1
|
+
import React from 'react';
|
2
|
+
import { EventName, EventListener } from '@wiggindev/utils';
|
3
|
+
export declare const useEventListener: <
|
4
|
+
K extends EventName<HTMLElementEventMap>,
|
5
|
+
E extends HTMLElement
|
6
|
+
>(
|
7
|
+
eventName: K,
|
8
|
+
listener: EventListener<HTMLElementEventMap, K>,
|
9
|
+
element: React.RefObject<E>
|
10
|
+
) => void;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
export declare const useIsomorphicLayoutEffect: typeof React.
|
1
|
+
import React from 'react';
|
2
|
+
export declare const useIsomorphicLayoutEffect: typeof React.useEffect;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const usePrevious: <T>(value: T) => T | undefined;
|
@@ -1,2 +1,7 @@
|
|
1
|
-
import { EventListener } from '@wiggindev/utils';
|
2
|
-
export declare const useWindowEventListener: <
|
1
|
+
import { EventName, EventListener } from '@wiggindev/utils';
|
2
|
+
export declare const useWindowEventListener: <
|
3
|
+
K extends EventName<WindowEventMap>
|
4
|
+
>(
|
5
|
+
eventName: K,
|
6
|
+
listener: EventListener<WindowEventMap, K>
|
7
|
+
) => void;
|
package/package.json
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wiggindev/hooks",
|
3
3
|
"description": "Various hooks that I use in my projects",
|
4
|
-
"version": "0.
|
4
|
+
"version": "0.2.2",
|
5
5
|
"author": {
|
6
6
|
"name": "Andrew Wiggin",
|
7
7
|
"email": "andrew@wiggin.dev",
|
8
8
|
"url": "https://wiggin.dev"
|
9
9
|
},
|
10
|
+
"repository": "git://github.com/wiggindev/hooks",
|
10
11
|
"type": "module",
|
11
12
|
"source": "src/index.ts",
|
12
13
|
"exports": {
|
@@ -18,36 +19,20 @@
|
|
18
19
|
"unpkg": "dist/index.umd.js",
|
19
20
|
"types": "dist/index.d.ts",
|
20
21
|
"scripts": {
|
21
|
-
"
|
22
|
-
"
|
23
|
-
"dev": "microbundle -f es,cjs,modern watch",
|
24
|
-
"_postinstall": "husky install",
|
25
|
-
"prepack": "pinst --disable",
|
26
|
-
"postpack": "pinst --enable",
|
27
|
-
"lint": "tsc --noEmit && yarn eslint",
|
28
|
-
"format": "yarn eslint --fix && yarn prettier --write ."
|
22
|
+
"build": "rm -rf dist && microbundle",
|
23
|
+
"dev": "rm -rf dist && microbundle watch"
|
29
24
|
},
|
30
25
|
"dependencies": {
|
31
|
-
"@wiggindev/utils": "
|
26
|
+
"@wiggindev/utils": "*"
|
32
27
|
},
|
33
28
|
"peerDependencies": {
|
34
29
|
"react": ">= 18"
|
35
30
|
},
|
36
31
|
"devDependencies": {
|
37
32
|
"@types/react": "^18.0.9",
|
38
|
-
"@typescript-eslint/eslint-plugin": "^5.23.0",
|
39
|
-
"@typescript-eslint/parser": "^5.23.0",
|
40
|
-
"eslint": "^8.15.0",
|
41
|
-
"eslint-config-prettier": "^8.5.0",
|
42
|
-
"eslint-plugin-prettier": "^4.0.0",
|
43
33
|
"eslint-plugin-react": "^7.29.4",
|
44
|
-
"husky": "^8.0.1",
|
45
|
-
"lint-staged": "^12.4.1",
|
46
34
|
"microbundle": "^0.15.0",
|
47
|
-
"
|
48
|
-
"prettier": "^2.6.2",
|
49
|
-
"rimraf": "^3.0.2",
|
50
|
-
"typescript": "^4.6.4"
|
35
|
+
"react": "^18.1.0"
|
51
36
|
},
|
52
37
|
"packageManager": "yarn@3.2.1",
|
53
38
|
"publishConfig": {
|
package/src/index.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { useEvent } from './useEvent';
|
3
2
|
import { events, EventName, EventListener } from '@wiggindev/utils';
|
3
|
+
import { useEvent } from './useEvent';
|
4
4
|
|
5
5
|
export const useDocumentEventListener = <K extends EventName<DocumentEventMap>>(
|
6
6
|
eventName: K,
|
package/src/useEvent.ts
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
|
+
import { Callback } from '@wiggindev/utils';
|
2
3
|
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
3
4
|
|
4
|
-
type Callback = (...args: any[]) => any;
|
5
|
-
|
6
5
|
export const useEvent = <C extends Callback>(callback: C): C => {
|
7
6
|
const callbackRef = React.useRef(callback);
|
8
7
|
useIsomorphicLayoutEffect(() => {
|
package/src/useEventListener.ts
CHANGED
@@ -0,0 +1,34 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { throttle } from '@wiggindev/utils';
|
3
|
+
import { useWindowEventListener } from './useWindowEventListener';
|
4
|
+
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
5
|
+
import { useEvent } from './useEvent';
|
6
|
+
|
7
|
+
const getWindowDimensions = () => {
|
8
|
+
const { innerWidth: width, innerHeight: height } = window;
|
9
|
+
return {
|
10
|
+
width,
|
11
|
+
height,
|
12
|
+
};
|
13
|
+
};
|
14
|
+
|
15
|
+
export const useWindowDimensions = (throttleLimit = 250) => {
|
16
|
+
const [windowDimensions, setWindowDimensions] = React.useState({
|
17
|
+
width: 0,
|
18
|
+
height: 0,
|
19
|
+
});
|
20
|
+
|
21
|
+
const updateWindowDimensions = () =>
|
22
|
+
setWindowDimensions(getWindowDimensions());
|
23
|
+
const handleResize = useEvent(
|
24
|
+
throttle(updateWindowDimensions, throttleLimit)
|
25
|
+
);
|
26
|
+
|
27
|
+
useWindowEventListener('resize', handleResize);
|
28
|
+
|
29
|
+
useIsomorphicLayoutEffect(() => {
|
30
|
+
updateWindowDimensions();
|
31
|
+
}, []);
|
32
|
+
|
33
|
+
return windowDimensions;
|
34
|
+
};
|
package/tsconfig.json
CHANGED
@@ -1,27 +1,8 @@
|
|
1
1
|
{
|
2
|
+
"extends": "../../tsconfig.json",
|
2
3
|
"compilerOptions": {
|
3
|
-
"outDir": "dist"
|
4
|
-
"module": "esnext",
|
5
|
-
"target": "esnext",
|
6
|
-
"lib": ["dom", "dom.iterable", "esnext"],
|
7
|
-
"allowJs": true,
|
8
|
-
"strict": true,
|
9
|
-
"forceConsistentCasingInFileNames": true,
|
10
|
-
"noEmit": true,
|
11
|
-
"esModuleInterop": true,
|
12
|
-
"moduleResolution": "node",
|
13
|
-
"resolveJsonModule": true,
|
14
|
-
"isolatedModules": true,
|
15
|
-
"incremental": true
|
4
|
+
"outDir": "dist"
|
16
5
|
},
|
17
6
|
"include": ["src/**/*"],
|
18
|
-
"exclude": [
|
19
|
-
"node_modules",
|
20
|
-
".fleet",
|
21
|
-
".yarn",
|
22
|
-
".idea",
|
23
|
-
".next",
|
24
|
-
".vercel",
|
25
|
-
"dist"
|
26
|
-
]
|
7
|
+
"exclude": ["dist"]
|
27
8
|
}
|