@kirill.konshin/utils 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +15 -15
- package/.turbo/turbo-test.log +5 -5
- package/CHANGELOG.md +6 -0
- package/dist/bootstrap/error.js +1 -0
- package/dist/bootstrap/error.js.map +1 -1
- package/dist/bootstrap/responsiveHelper.js +1 -0
- package/dist/bootstrap/responsiveHelper.js.map +1 -1
- package/dist/bootstrap/toaster.js +1 -0
- package/dist/bootstrap/toaster.js.map +1 -1
- package/dist/next/appLink.js +1 -0
- package/dist/next/appLink.js.map +1 -1
- package/dist/next/noSSR.js +1 -0
- package/dist/next/noSSR.js.map +1 -1
- package/dist/next/useIsInner.js +1 -0
- package/dist/next/useIsInner.js.map +1 -1
- package/dist/react/form/client.js +1 -0
- package/dist/react/form/client.js.map +1 -1
- package/dist/react/useFetch.js +1 -0
- package/dist/react/useFetch.js.map +1 -1
- package/dist/tailwind/responsiveHelper.js +1 -0
- package/dist/tailwind/responsiveHelper.js.map +1 -1
- package/package.json +2 -1
- package/vite.config.ts +3 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[36mvite v6.0.11 [32mbuilding SSR bundle for production...[36m[39m
|
|
2
2
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/bootstrap
|
|
3
|
-
create succeeded: /home/runner/work/utils/utils/packages/utils/src/electron-builder
|
|
4
3
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/core
|
|
5
|
-
create succeeded: /home/runner/work/utils/utils/packages/utils/src/
|
|
4
|
+
create succeeded: /home/runner/work/utils/utils/packages/utils/src/electron
|
|
5
|
+
create succeeded: /home/runner/work/utils/utils/packages/utils/src/electron-builder
|
|
6
|
+
create succeeded: /home/runner/work/utils/utils/packages/utils/src/mui
|
|
6
7
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/react-native
|
|
7
8
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/tailwind
|
|
8
|
-
create succeeded: /home/runner/work/utils/utils/packages/utils/src/
|
|
9
|
-
create succeeded: /home/runner/work/utils/utils/packages/utils/src/electron
|
|
9
|
+
create succeeded: /home/runner/work/utils/utils/packages/utils/src/next
|
|
10
10
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/react
|
|
11
11
|
transforming...
|
|
12
12
|
[32m✓[39m 50 modules transformed.
|
|
@@ -22,24 +22,24 @@ rendering chunks...
|
|
|
22
22
|
[2mdist/[22m[36mnext/index.js [39m[1m[2m0.34 kB[22m[1m[22m[2m │ map: 0.10 kB[22m
|
|
23
23
|
[2mdist/[22m[36mcore/errors.js [39m[1m[2m0.35 kB[22m[1m[22m[2m │ map: 0.86 kB[22m
|
|
24
24
|
[2mdist/[22m[36mtailwind/fullpage.js [39m[1m[2m0.35 kB[22m[1m[22m[2m │ map: 0.61 kB[22m
|
|
25
|
-
[2mdist/[22m[36mnext/useIsInner.js [39m[1m[2m0.
|
|
25
|
+
[2mdist/[22m[36mnext/useIsInner.js [39m[1m[2m0.37 kB[22m[1m[22m[2m │ map: 0.62 kB[22m
|
|
26
26
|
[2mdist/[22m[36mnext/measure.js [39m[1m[2m0.38 kB[22m[1m[22m[2m │ map: 0.55 kB[22m
|
|
27
27
|
[2mdist/[22m[36mmui/formLabelLegend.js [39m[1m[2m0.38 kB[22m[1m[22m[2m │ map: 0.67 kB[22m
|
|
28
28
|
[2mdist/[22m[36mbootstrap/adaptiveContainer.js [39m[1m[2m0.40 kB[22m[1m[22m[2m │ map: 0.66 kB[22m
|
|
29
29
|
[2mdist/[22m[36mbootstrap/globalLoading.js [39m[1m[2m0.43 kB[22m[1m[22m[2m │ map: 0.82 kB[22m
|
|
30
|
-
[2mdist/[22m[36mnext/noSSR.js [39m[1m[2m0.
|
|
30
|
+
[2mdist/[22m[36mnext/noSSR.js [39m[1m[2m0.45 kB[22m[1m[22m[2m │ map: 0.89 kB[22m
|
|
31
31
|
[2mdist/[22m[36mreact-native/useAppState.js [39m[1m[2m0.47 kB[22m[1m[22m[2m │ map: 0.84 kB[22m
|
|
32
32
|
[2mdist/[22m[36mreact/index.js [39m[1m[2m0.48 kB[22m[1m[22m[2m │ map: 0.09 kB[22m
|
|
33
33
|
[2mdist/[22m[36mmui/genericControl.js [39m[1m[2m0.50 kB[22m[1m[22m[2m │ map: 1.02 kB[22m
|
|
34
34
|
[2mdist/[22m[36mbootstrap/loading.js [39m[1m[2m0.54 kB[22m[1m[22m[2m │ map: 1.01 kB[22m
|
|
35
35
|
[2mdist/[22m[36mcore/index.js [39m[1m[2m0.56 kB[22m[1m[22m[2m │ map: 0.09 kB[22m
|
|
36
|
-
[2mdist/[22m[36mreact/useFetch.js [39m[1m[2m0.
|
|
36
|
+
[2mdist/[22m[36mreact/useFetch.js [39m[1m[2m0.57 kB[22m[1m[22m[2m │ map: 1.70 kB[22m
|
|
37
37
|
[2mdist/[22m[36mmui/formControlFieldset.js [39m[1m[2m0.64 kB[22m[1m[22m[2m │ map: 1.23 kB[22m
|
|
38
|
-
[2mdist/[22m[36mnext/appLink.js [39m[1m[2m0.75 kB[22m[1m[22m[2m │ map: 1.58 kB[22m
|
|
39
38
|
[2mdist/[22m[36mcore/mutex.js [39m[1m[2m0.76 kB[22m[1m[22m[2m │ map: 1.19 kB[22m
|
|
40
|
-
[2mdist/[22m[
|
|
39
|
+
[2mdist/[22m[36mnext/appLink.js [39m[1m[2m0.77 kB[22m[1m[22m[2m │ map: 1.58 kB[22m
|
|
41
40
|
[2mdist/[22m[36mbootstrap/field.js [39m[1m[2m0.79 kB[22m[1m[22m[2m │ map: 1.56 kB[22m
|
|
42
|
-
[2mdist/[22m[
|
|
41
|
+
[2mdist/[22m[36mbootstrap/error.js [39m[1m[2m0.79 kB[22m[1m[22m[2m │ map: 1.66 kB[22m
|
|
42
|
+
[2mdist/[22m[36mtailwind/responsiveHelper.js [39m[1m[2m0.84 kB[22m[1m[22m[2m │ map: 1.14 kB[22m
|
|
43
43
|
[2mdist/[22m[36mreact-native/share.js [39m[1m[2m0.85 kB[22m[1m[22m[2m │ map: 1.75 kB[22m
|
|
44
44
|
[2mdist/[22m[36mreact/apiCall.js [39m[1m[2m0.85 kB[22m[1m[22m[2m │ map: 1.47 kB[22m
|
|
45
45
|
[2mdist/[22m[36mbootstrap/useWrappedForm.js [39m[1m[2m0.90 kB[22m[1m[22m[2m │ map: 2.22 kB[22m
|
|
@@ -47,12 +47,12 @@ rendering chunks...
|
|
|
47
47
|
[2mdist/[22m[36melectron-builder/images.js [39m[1m[2m1.02 kB[22m[1m[22m[2m │ map: 1.95 kB[22m
|
|
48
48
|
[2mdist/[22m[36mreact-native/update.js [39m[1m[2m1.03 kB[22m[1m[22m[2m │ map: 1.97 kB[22m
|
|
49
49
|
[2mdist/[22m[36mreact/useFetcher.js [39m[1m[2m1.20 kB[22m[1m[22m[2m │ map: 2.47 kB[22m
|
|
50
|
-
[2mdist/[22m[36mbootstrap/toaster.js [39m[1m[2m1.
|
|
50
|
+
[2mdist/[22m[36mbootstrap/toaster.js [39m[1m[2m1.25 kB[22m[1m[22m[2m │ map: 2.08 kB[22m
|
|
51
51
|
[2mdist/[22m[36mcore/measure.js [39m[1m[2m1.43 kB[22m[1m[22m[2m │ map: 2.88 kB[22m
|
|
52
52
|
[2mdist/[22m[36melectron/updater.js [39m[1m[2m1.44 kB[22m[1m[22m[2m │ map: 2.61 kB[22m
|
|
53
53
|
[2mdist/[22m[36mbootstrap/footer.js [39m[1m[2m1.53 kB[22m[1m[22m[2m │ map: 2.57 kB[22m
|
|
54
|
-
[2mdist/[22m[36mreact/form/client.js [39m[1m[2m1.
|
|
55
|
-
[2mdist/[22m[36mbootstrap/responsiveHelper.js [39m[1m[2m1.
|
|
54
|
+
[2mdist/[22m[36mreact/form/client.js [39m[1m[2m1.58 kB[22m[1m[22m[2m │ map: 3.36 kB[22m
|
|
55
|
+
[2mdist/[22m[36mbootstrap/responsiveHelper.js [39m[1m[2m1.78 kB[22m[1m[22m[2m │ map: 2.87 kB[22m
|
|
56
56
|
[2mdist/[22m[36mbootstrap/useModal.js [39m[1m[2m2.09 kB[22m[1m[22m[2m │ map: 4.75 kB[22m
|
|
57
57
|
[2mdist/[22m[36mreact/form/form.js [39m[1m[2m2.57 kB[22m[1m[22m[2m │ map: 5.74 kB[22m
|
|
58
58
|
[2mdist/[22m[36mbootstrap/controls.js [39m[1m[2m2.74 kB[22m[1m[22m[2m │ map: 5.81 kB[22m
|
|
@@ -61,7 +61,7 @@ rendering chunks...
|
|
|
61
61
|
[2mdist/[22m[36mbootstrap/screen.js [39m[1m[2m3.37 kB[22m[1m[22m[2m │ map: 7.04 kB[22m
|
|
62
62
|
[2mdist/[22m[36melectron/createWindow.js [39m[1m[2m5.39 kB[22m[1m[22m[2m │ map: 10.88 kB[22m
|
|
63
63
|
[2mdist/[22m[36mcore/worker.js [39m[1m[2m7.45 kB[22m[1m[22m[2m │ map: 15.67 kB[22m
|
|
64
|
-
[vite:dts] Declaration files built in
|
|
64
|
+
[vite:dts] Declaration files built in 5278ms.
|
|
65
65
|
|
|
66
|
-
[32m✓ built in 5.
|
|
66
|
+
[32m✓ built in 5.59s[39m
|
|
67
67
|
Updated package.json with exports
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
[?25lcreate succeeded: /home/runner/work/utils/utils/packages/utils/src/bootstrap
|
|
2
2
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/electron
|
|
3
|
+
create succeeded: /home/runner/work/utils/utils/packages/utils/src/core
|
|
3
4
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/electron-builder
|
|
4
|
-
create succeeded: /home/runner/work/utils/utils/packages/utils/src/mui
|
|
5
5
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/next
|
|
6
6
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/react-native
|
|
7
|
+
create succeeded: /home/runner/work/utils/utils/packages/utils/src/mui
|
|
7
8
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/tailwind
|
|
8
|
-
create succeeded: /home/runner/work/utils/utils/packages/utils/src/core
|
|
9
9
|
create succeeded: /home/runner/work/utils/utils/packages/utils/src/react
|
|
10
10
|
|
|
11
11
|
[1m[7m[36m RUN [39m[27m[22m [36mv3.0.4 [39m[90m/home/runner/work/utils/utils/packages/utils[39m
|
|
@@ -20,12 +20,12 @@ create succeeded: /home/runner/work/utils/utils/packages/utils/src/react
|
|
|
20
20
|
[90mstdout[2m | src/core/cache.test.ts[2m > [22m[2mTransformerMap[2m > [22m[2mkey transform
|
|
21
21
|
[22m[39mCLEAR cache test
|
|
22
22
|
|
|
23
|
-
[32m✓[39m src/core/cache.test.ts [2m([22m[2m4 tests[22m[2m)[22m[90m
|
|
23
|
+
[32m✓[39m src/core/cache.test.ts [2m([22m[2m4 tests[22m[2m)[22m[90m 15[2mms[22m[39m
|
|
24
24
|
|
|
25
25
|
[2m Test Files [22m [1m[32m1 passed[39m[22m[90m (1)[39m
|
|
26
26
|
[2m Tests [22m [1m[32m4 passed[39m[22m[90m (4)[39m
|
|
27
|
-
[2m Start at [22m 06:
|
|
28
|
-
[2m Duration [22m
|
|
27
|
+
[2m Start at [22m 06:19:05
|
|
28
|
+
[2m Duration [22m 914ms[2m (transform 47ms, setup 0ms, collect 49ms, tests 15ms, environment 0ms, prepare 69ms)[22m
|
|
29
29
|
|
|
30
30
|
[34m % [39m[2mCoverage report from [22m[33mv8[39m
|
|
31
31
|
-------------------|---------|----------|---------|---------|-------------------
|
package/CHANGELOG.md
CHANGED
package/dist/bootstrap/error.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sources":["../../src/bootstrap/error.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { Alert, AlertProps, Button, ButtonProps } from 'react-bootstrap';\n\n//TODO Create MUI-specific?\nexport function ErrorAlert({\n onRetry,\n children,\n buttonProps,\n ...props\n}: {\n children?: Error | string | any;\n onRetry?: () => any;\n buttonProps?: ButtonProps;\n}) {\n if (!children) return null;\n\n return (\n <Alert variant=\"danger\" {...props}>\n <div>{children.message || children.toString()}</div>\n {onRetry && (\n <div>\n <Button\n variant=\"link\"\n className=\"alert-link\"\n {...buttonProps}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n onRetry();\n }}\n >\n Retry\n </Button>\n </div>\n )}\n </Alert>\n );\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error.js","sources":["../../src/bootstrap/error.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { Alert, AlertProps, Button, ButtonProps } from 'react-bootstrap';\n\n//TODO Create MUI-specific?\nexport function ErrorAlert({\n onRetry,\n children,\n buttonProps,\n ...props\n}: {\n children?: Error | string | any;\n onRetry?: () => any;\n buttonProps?: ButtonProps;\n}) {\n if (!children) return null;\n\n return (\n <Alert variant=\"danger\" {...props}>\n <div>{children.message || children.toString()}</div>\n {onRetry && (\n <div>\n <Button\n variant=\"link\"\n className=\"alert-link\"\n {...buttonProps}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n onRetry();\n }}\n >\n Retry\n </Button>\n </div>\n )}\n </Alert>\n );\n}\n"],"names":[],"mappings":";;;AAMO,SAAS,WAAW;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAIG;AACK,MAAA,CAAC,SAAiB,QAAA;AAEtB,SACK,qBAAA,OAAA,EAAM,SAAQ,UAAU,GAAG,OACxB,UAAA;AAAA,IAAA,oBAAC,OAAK,EAAA,UAAA,SAAS,WAAW,SAAS,YAAW;AAAA,IAC7C,+BACI,OACG,EAAA,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,SAAQ;AAAA,QACR,WAAU;AAAA,QACT,GAAG;AAAA,QACJ,SAAS,CAAC,MAAM;AACZ,YAAE,eAAe;AACjB,YAAE,gBAAgB;AACV,kBAAA;AAAA,QACZ;AAAA,QACH,UAAA;AAAA,MAAA;AAAA,IAAA,EAGL,CAAA;AAAA,EAAA,GAER;AAER;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveHelper.js","sources":["../../src/bootstrap/responsiveHelper.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nexport function useBreakpoint() {\n const [breakpoint, setBreakpoint] = React.useState('xs');\n\n React.useEffect(() => {\n const updateBreakpoint = () => {\n const width = window.innerWidth;\n if (width < 576) {\n setBreakpoint('xs');\n } else if (width < 768) {\n setBreakpoint('sm');\n } else if (width < 992) {\n setBreakpoint('md');\n } else if (width < 1200) {\n setBreakpoint('lg');\n } else if (width < 1400) {\n setBreakpoint('xl');\n } else {\n setBreakpoint('xxl');\n }\n };\n\n updateBreakpoint();\n window.addEventListener('resize', updateBreakpoint);\n\n return () => {\n window.removeEventListener('resize', updateBreakpoint);\n };\n }, []);\n\n const isMobile = ['xs', 'sm', 'md'].includes(breakpoint);\n\n return { breakpoint, isMobile, isDesktop: !isMobile };\n}\n\nexport function ResponsiveHelperBS() {\n return (\n <span className=\"small position-fixed bottom-0 z-3\" style={{ fontSize: '9px', right: 1, lineHeight: 1 }}>\n <small className=\"d-block d-sm-none\">XS</small>\n <small className=\"d-none d-sm-block d-md-none\">SM</small>\n <small className=\"d-none d-md-block d-lg-none\">MD</small>\n <small className=\"d-none d-lg-block d-xl-none\">LG</small>\n <small className=\"d-none d-xl-block d-xxl-none\">XL</small>\n <small className=\"d-none d-xxl-block\">XXL</small>\n </span>\n );\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"responsiveHelper.js","sources":["../../src/bootstrap/responsiveHelper.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nexport function useBreakpoint() {\n const [breakpoint, setBreakpoint] = React.useState('xs');\n\n React.useEffect(() => {\n const updateBreakpoint = () => {\n const width = window.innerWidth;\n if (width < 576) {\n setBreakpoint('xs');\n } else if (width < 768) {\n setBreakpoint('sm');\n } else if (width < 992) {\n setBreakpoint('md');\n } else if (width < 1200) {\n setBreakpoint('lg');\n } else if (width < 1400) {\n setBreakpoint('xl');\n } else {\n setBreakpoint('xxl');\n }\n };\n\n updateBreakpoint();\n window.addEventListener('resize', updateBreakpoint);\n\n return () => {\n window.removeEventListener('resize', updateBreakpoint);\n };\n }, []);\n\n const isMobile = ['xs', 'sm', 'md'].includes(breakpoint);\n\n return { breakpoint, isMobile, isDesktop: !isMobile };\n}\n\nexport function ResponsiveHelperBS() {\n return (\n <span className=\"small position-fixed bottom-0 z-3\" style={{ fontSize: '9px', right: 1, lineHeight: 1 }}>\n <small className=\"d-block d-sm-none\">XS</small>\n <small className=\"d-none d-sm-block d-md-none\">SM</small>\n <small className=\"d-none d-md-block d-lg-none\">MD</small>\n <small className=\"d-none d-lg-block d-xl-none\">LG</small>\n <small className=\"d-none d-xl-block d-xxl-none\">XL</small>\n <small className=\"d-none d-xxl-block\">XXL</small>\n </span>\n );\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,gBAAgB;AAC5B,QAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,IAAI;AAEvD,QAAM,UAAU,MAAM;AAClB,UAAM,mBAAmB,MAAM;AAC3B,YAAM,QAAQ,OAAO;AACrB,UAAI,QAAQ,KAAK;AACb,sBAAc,IAAI;AAAA,MAAA,WACX,QAAQ,KAAK;AACpB,sBAAc,IAAI;AAAA,MAAA,WACX,QAAQ,KAAK;AACpB,sBAAc,IAAI;AAAA,MAAA,WACX,QAAQ,MAAM;AACrB,sBAAc,IAAI;AAAA,MAAA,WACX,QAAQ,MAAM;AACrB,sBAAc,IAAI;AAAA,MAAA,OACf;AACH,sBAAc,KAAK;AAAA,MAAA;AAAA,IAE3B;AAEiB,qBAAA;AACV,WAAA,iBAAiB,UAAU,gBAAgB;AAElD,WAAO,MAAM;AACF,aAAA,oBAAoB,UAAU,gBAAgB;AAAA,IACzD;AAAA,EACJ,GAAG,EAAE;AAEL,QAAM,WAAW,CAAC,MAAM,MAAM,IAAI,EAAE,SAAS,UAAU;AAEvD,SAAO,EAAE,YAAY,UAAU,WAAW,CAAC,SAAS;AACxD;AAEO,SAAS,qBAAqB;AACjC,SACK,qBAAA,QAAA,EAAK,WAAU,qCAAoC,OAAO,EAAE,UAAU,OAAO,OAAO,GAAG,YAAY,EAAA,GAChG,UAAA;AAAA,IAAC,oBAAA,SAAA,EAAM,WAAU,qBAAoB,UAAE,MAAA;AAAA,IACtC,oBAAA,SAAA,EAAM,WAAU,+BAA8B,UAAE,MAAA;AAAA,IAChD,oBAAA,SAAA,EAAM,WAAU,+BAA8B,UAAE,MAAA;AAAA,IAChD,oBAAA,SAAA,EAAM,WAAU,+BAA8B,UAAE,MAAA;AAAA,IAChD,oBAAA,SAAA,EAAM,WAAU,gCAA+B,UAAE,MAAA;AAAA,IACjD,oBAAA,SAAA,EAAM,WAAU,sBAAqB,UAAG,MAAA,CAAA;AAAA,EAAA,GAC7C;AAER;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toaster.js","sources":["../../src/bootstrap/toaster.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { Toast, ToastProps } from 'react-bootstrap';\n// import { useToaster } from '../redux/toasterSlice';\n\nexport function Toaster({\n toast,\n}: { toast: string | { message: string; title?: string; variant?: 'dark' | 'success' | 'danger' } } & ToastProps) {\n //const { toast, setToast } = useToaster();\n const [dismissed, setDismissed] = useState(false);\n\n const msg = typeof toast === 'string' ? toast : toast?.message;\n const title = typeof toast === 'string' ? 'Notification' : toast?.title;\n const variant = typeof toast === 'string' ? '' : toast?.variant;\n\n return (\n <Toast\n onClose={() => setDismissed(true)}\n show={!dismissed}\n delay={10000}\n autohide\n bg={variant?.toLowerCase()}\n className=\"position-fixed top-50 right-50 min-w-200px z-3\"\n >\n <Toast.Header>\n <strong className=\"me-auto\">Notification</strong>\n </Toast.Header>\n <Toast.Body\n className={\n ['dark', 'success', 'danger'].includes((variant as string)?.toLowerCase()) ? 'text-white' : ''\n }\n >\n {msg}\n </Toast.Body>\n </Toast>\n );\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toaster.js","sources":["../../src/bootstrap/toaster.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { Toast, ToastProps } from 'react-bootstrap';\n// import { useToaster } from '../redux/toasterSlice';\n\nexport function Toaster({\n toast,\n}: { toast: string | { message: string; title?: string; variant?: 'dark' | 'success' | 'danger' } } & ToastProps) {\n //const { toast, setToast } = useToaster();\n const [dismissed, setDismissed] = useState(false);\n\n const msg = typeof toast === 'string' ? toast : toast?.message;\n const title = typeof toast === 'string' ? 'Notification' : toast?.title;\n const variant = typeof toast === 'string' ? '' : toast?.variant;\n\n return (\n <Toast\n onClose={() => setDismissed(true)}\n show={!dismissed}\n delay={10000}\n autohide\n bg={variant?.toLowerCase()}\n className=\"position-fixed top-50 right-50 min-w-200px z-3\"\n >\n <Toast.Header>\n <strong className=\"me-auto\">Notification</strong>\n </Toast.Header>\n <Toast.Body\n className={\n ['dark', 'success', 'danger'].includes((variant as string)?.toLowerCase()) ? 'text-white' : ''\n }\n >\n {msg}\n </Toast.Body>\n </Toast>\n );\n}\n"],"names":[],"mappings":";;;;AAMO,SAAS,QAAQ;AAAA,EACpB;AACJ,GAAkH;AAE9G,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,QAAM,MAAM,OAAO,UAAU,WAAW,QAAQ,+BAAO;AACzC,SAAO,UAAU,WAAW,iBAAiB,+BAAO;AAClE,QAAM,UAAU,OAAO,UAAU,WAAW,KAAK,+BAAO;AAGpD,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,SAAS,MAAM,aAAa,IAAI;AAAA,MAChC,MAAM,CAAC;AAAA,MACP,OAAO;AAAA,MACP,UAAQ;AAAA,MACR,IAAI,mCAAS;AAAA,MACb,WAAU;AAAA,MAEV,UAAA;AAAA,QAAC,oBAAA,MAAM,QAAN,EACG,UAAA,oBAAC,YAAO,WAAU,WAAU,0BAAY,EAC5C,CAAA;AAAA,QACA;AAAA,UAAC,MAAM;AAAA,UAAN;AAAA,YACG,WACI,CAAC,QAAQ,WAAW,QAAQ,EAAE,SAAU,mCAAoB,aAAa,IAAI,eAAe;AAAA,YAG/F,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACL;AAAA,IAAA;AAAA,EACJ;AAER;"}
|
package/dist/next/appLink.js
CHANGED
package/dist/next/appLink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appLink.js","sources":["../../src/next/appLink.tsx"],"sourcesContent":["'use client';\n\nimport React, { ComponentProps, FC } from 'react';\nimport { usePathname } from 'next/navigation';\nimport Link, { LinkProps } from 'next/link';\nimport clsx from 'clsx';\n\n//TODO Test this\nexport const AppLink: FC<\n {\n children: any;\n exact?: boolean;\n activeClassName?: any;\n } & LinkProps &\n ComponentProps<typeof Link>\n> = function AppLink({\n href,\n children,\n className = '',\n activeClassName = '',\n prefetch = false, // set explicit default\n exact = false,\n ...props\n}) {\n const pathname = usePathname();\n const hrefPath = typeof href === 'string' ? href : href.pathname || '/';\n\n return (\n <Link\n {...props}\n href={href}\n className={clsx(className, {\n [activeClassName]: (!exact && pathname.startsWith(hrefPath)) || (exact && pathname === hrefPath),\n })}\n prefetch={prefetch}\n >\n {children}\n </Link>\n );\n};\n"],"names":["AppLink"],"mappings":"
|
|
1
|
+
{"version":3,"file":"appLink.js","sources":["../../src/next/appLink.tsx"],"sourcesContent":["'use client';\n\nimport React, { ComponentProps, FC } from 'react';\nimport { usePathname } from 'next/navigation';\nimport Link, { LinkProps } from 'next/link';\nimport clsx from 'clsx';\n\n//TODO Test this\nexport const AppLink: FC<\n {\n children: any;\n exact?: boolean;\n activeClassName?: any;\n } & LinkProps &\n ComponentProps<typeof Link>\n> = function AppLink({\n href,\n children,\n className = '',\n activeClassName = '',\n prefetch = false, // set explicit default\n exact = false,\n ...props\n}) {\n const pathname = usePathname();\n const hrefPath = typeof href === 'string' ? href : href.pathname || '/';\n\n return (\n <Link\n {...props}\n href={href}\n className={clsx(className, {\n [activeClassName]: (!exact && pathname.startsWith(hrefPath)) || (exact && pathname === hrefPath),\n })}\n prefetch={prefetch}\n >\n {children}\n </Link>\n );\n};\n"],"names":["AppLink"],"mappings":";;;;;AAQa,MAAA,UAOT,SAASA,SAAQ;AAAA,EACjB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,WAAW;AAAA;AAAA,EACX,QAAQ;AAAA,EACR,GAAG;AACP,GAAG;AACC,QAAM,WAAW,YAAY;AAC7B,QAAM,WAAW,OAAO,SAAS,WAAW,OAAO,KAAK,YAAY;AAGhE,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA,WAAW,KAAK,WAAW;AAAA,QACvB,CAAC,eAAe,GAAI,CAAC,SAAS,SAAS,WAAW,QAAQ,KAAO,SAAS,aAAa;AAAA,MAAA,CAC1F;AAAA,MACD;AAAA,MAEC;AAAA,IAAA;AAAA,EACL;AAER;"}
|
package/dist/next/noSSR.js
CHANGED
package/dist/next/noSSR.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noSSR.js","sources":["../../src/next/noSSR.tsx"],"sourcesContent":["'use client';\n\nimport React, { useLayoutEffect, useState } from 'react';\n\nconst DefaultOnSSR = () => <span />;\n\n// @see https://github.com/kadirahq/react-no-ssr/blob/master/src/index.js\n// @see https://nextjs.org/docs/messages/react-hydration-error#solution-1-using-useeffect-to-run-on-the-client-only\nexport function NoSSR({ children, onSSR = <DefaultOnSSR /> }) {\n const [canRender, setCanRender] = useState(false);\n\n useLayoutEffect(() => {\n setCanRender(true);\n }, []);\n\n return canRender ? children : onSSR;\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"noSSR.js","sources":["../../src/next/noSSR.tsx"],"sourcesContent":["'use client';\n\nimport React, { useLayoutEffect, useState } from 'react';\n\nconst DefaultOnSSR = () => <span />;\n\n// @see https://github.com/kadirahq/react-no-ssr/blob/master/src/index.js\n// @see https://nextjs.org/docs/messages/react-hydration-error#solution-1-using-useeffect-to-run-on-the-client-only\nexport function NoSSR({ children, onSSR = <DefaultOnSSR /> }) {\n const [canRender, setCanRender] = useState(false);\n\n useLayoutEffect(() => {\n setCanRender(true);\n }, []);\n\n return canRender ? children : onSSR;\n}\n"],"names":[],"mappings":";;;AAIA,MAAM,eAAe,MAAM,oBAAC,QAAK,EAAA;AAI1B,SAAS,MAAM,EAAE,UAAU,QAAS,oBAAA,cAAA,CAAa,CAAA,KAAM;AAC1D,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,kBAAgB,MAAM;AAClB,iBAAa,IAAI;AAAA,EACrB,GAAG,EAAE;AAEL,SAAO,YAAY,WAAW;AAClC;"}
|
package/dist/next/useIsInner.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsInner.js","sources":["../../src/next/useIsInner.ts"],"sourcesContent":["'use client';\n\nimport { useSelectedLayoutSegments } from 'next/navigation';\n\nexport const useIsInner = (): boolean => {\n const pathname = useSelectedLayoutSegments();\n return pathname.length > 0;\n};\n\nexport const useIsIndex = (): boolean => {\n const pathname = useSelectedLayoutSegments();\n return pathname.length === 0;\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIsInner.js","sources":["../../src/next/useIsInner.ts"],"sourcesContent":["'use client';\n\nimport { useSelectedLayoutSegments } from 'next/navigation';\n\nexport const useIsInner = (): boolean => {\n const pathname = useSelectedLayoutSegments();\n return pathname.length > 0;\n};\n\nexport const useIsIndex = (): boolean => {\n const pathname = useSelectedLayoutSegments();\n return pathname.length === 0;\n};\n"],"names":[],"mappings":";;AAIO,MAAM,aAAa,MAAe;AACrC,QAAM,WAAW,0BAA0B;AAC3C,SAAO,SAAS,SAAS;AAC7B;AAEO,MAAM,aAAa,MAAe;AACrC,QAAM,WAAW,0BAA0B;AAC3C,SAAO,SAAS,WAAW;AAC/B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sources":["../../../src/react/form/client.tsx"],"sourcesContent":["'use client';\n\nimport { useActionState, useCallback, useState, useTransition } from 'react';\nimport { create, MaybeTypeOf, Validation } from './form';\nimport { z } from 'zod';\n\nconst FORM_DEBUG = process.env.NEXT_PUBLIC_FORM_DEBUG === 'true';\n\nexport function createClient<S extends z.ZodObject<any>>(schema: S) {\n const { validate } = create(schema);\n\n function useValidationCallback(\n actionFn: (data: FormData) => Promise<Validation<S>>,\n ): (formData: FormData) => Promise<Validation<S>> {\n return useCallback(\n async (formData: FormData) => {\n const clientRes = validate(formData);\n console.log('Client validation', FORM_DEBUG ? 'ignored' : 'active', clientRes);\n if (!clientRes.success && !FORM_DEBUG) return clientRes;\n\n const serverRes = await actionFn(formData);\n console.log('Server validation', serverRes);\n return serverRes;\n },\n [actionFn],\n );\n }\n\n function useValidation(\n actionFn: (data: FormData) => Promise<Validation<S>>,\n initialData: MaybeTypeOf<S> = {} as MaybeTypeOf<S>,\n ) {\n const cb = useValidationCallback(actionFn);\n\n return useActionState<Validation<S>, FormData>(async (_, data) => cb(data), {\n success: false,\n data: initialData,\n });\n }\n\n function useValidationTransition(\n actionFn: (data: FormData) => Promise<Validation<S>>,\n initialData: MaybeTypeOf<S> = {} as MaybeTypeOf<S>,\n ): [Validation<S>, (formData: FormData) => Promise<Validation<S>>, boolean] {\n const [isPending, startTransition] = useTransition();\n const [state, setState] = useState<Validation<S>>({ success: false, data: initialData });\n const cb = useValidationCallback(actionFn);\n\n const wrappedCb = useCallback(\n (formData: FormData) => {\n const promise = cb(formData);\n startTransition(() => promise.then(setState));\n return promise;\n },\n [cb, startTransition],\n );\n\n return [state, wrappedCb, isPending];\n }\n\n return { useValidation, useValidationTransition };\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../../src/react/form/client.tsx"],"sourcesContent":["'use client';\n\nimport { useActionState, useCallback, useState, useTransition } from 'react';\nimport { create, MaybeTypeOf, Validation } from './form';\nimport { z } from 'zod';\n\nconst FORM_DEBUG = process.env.NEXT_PUBLIC_FORM_DEBUG === 'true';\n\nexport function createClient<S extends z.ZodObject<any>>(schema: S) {\n const { validate } = create(schema);\n\n function useValidationCallback(\n actionFn: (data: FormData) => Promise<Validation<S>>,\n ): (formData: FormData) => Promise<Validation<S>> {\n return useCallback(\n async (formData: FormData) => {\n const clientRes = validate(formData);\n console.log('Client validation', FORM_DEBUG ? 'ignored' : 'active', clientRes);\n if (!clientRes.success && !FORM_DEBUG) return clientRes;\n\n const serverRes = await actionFn(formData);\n console.log('Server validation', serverRes);\n return serverRes;\n },\n [actionFn],\n );\n }\n\n function useValidation(\n actionFn: (data: FormData) => Promise<Validation<S>>,\n initialData: MaybeTypeOf<S> = {} as MaybeTypeOf<S>,\n ) {\n const cb = useValidationCallback(actionFn);\n\n return useActionState<Validation<S>, FormData>(async (_, data) => cb(data), {\n success: false,\n data: initialData,\n });\n }\n\n function useValidationTransition(\n actionFn: (data: FormData) => Promise<Validation<S>>,\n initialData: MaybeTypeOf<S> = {} as MaybeTypeOf<S>,\n ): [Validation<S>, (formData: FormData) => Promise<Validation<S>>, boolean] {\n const [isPending, startTransition] = useTransition();\n const [state, setState] = useState<Validation<S>>({ success: false, data: initialData });\n const cb = useValidationCallback(actionFn);\n\n const wrappedCb = useCallback(\n (formData: FormData) => {\n const promise = cb(formData);\n startTransition(() => promise.then(setState));\n return promise;\n },\n [cb, startTransition],\n );\n\n return [state, wrappedCb, isPending];\n }\n\n return { useValidation, useValidationTransition };\n}\n"],"names":[],"mappings":";;;AAMA,MAAM,aAAa,QAAQ,IAAI,2BAA2B;AAEnD,SAAS,aAAyC,QAAW;AAChE,QAAM,EAAE,SAAA,IAAa,OAAO,MAAM;AAElC,WAAS,sBACL,UAC8C;AACvC,WAAA;AAAA,MACH,OAAO,aAAuB;AACpB,cAAA,YAAY,SAAS,QAAQ;AACnC,gBAAQ,IAAI,qBAAqB,aAAa,YAAY,UAAU,SAAS;AAC7E,YAAI,CAAC,UAAU,WAAW,CAAC,WAAmB,QAAA;AAExC,cAAA,YAAY,MAAM,SAAS,QAAQ;AACjC,gBAAA,IAAI,qBAAqB,SAAS;AACnC,eAAA;AAAA,MACX;AAAA,MACA,CAAC,QAAQ;AAAA,IACb;AAAA,EAAA;AAGJ,WAAS,cACL,UACA,cAA8B,IAChC;AACQ,UAAA,KAAK,sBAAsB,QAAQ;AAEzC,WAAO,eAAwC,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG;AAAA,MACxE,SAAS;AAAA,MACT,MAAM;AAAA,IAAA,CACT;AAAA,EAAA;AAGL,WAAS,wBACL,UACA,cAA8B,IAC0C;AACxE,UAAM,CAAC,WAAW,eAAe,IAAI,cAAc;AAC7C,UAAA,CAAC,OAAO,QAAQ,IAAI,SAAwB,EAAE,SAAS,OAAO,MAAM,aAAa;AACjF,UAAA,KAAK,sBAAsB,QAAQ;AAEzC,UAAM,YAAY;AAAA,MACd,CAAC,aAAuB;AACd,cAAA,UAAU,GAAG,QAAQ;AAC3B,wBAAgB,MAAM,QAAQ,KAAK,QAAQ,CAAC;AACrC,eAAA;AAAA,MACX;AAAA,MACA,CAAC,IAAI,eAAe;AAAA,IACxB;AAEO,WAAA,CAAC,OAAO,WAAW,SAAS;AAAA,EAAA;AAGhC,SAAA,EAAE,eAAe,wBAAwB;AACpD;"}
|
package/dist/react/useFetch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetch.js","sources":["../../src/react/useFetch.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useState, useTransition } from 'react';\n\n//TODO useFetch https://use-http.com\n//TODO SWR?\n//TODO Tanstack Query?\nexport function useFetch<R>(\n fn: (...args: any[]) => Promise<R>,\n defaultValue: R | null = null,\n): [R | null, typeof fn, boolean, Error | undefined] {\n // An async function was passed to useActionState, but it was dispatched outside of an action context.\n // This is likely not what you intended. Either pass the dispatch function to an `action` prop, or dispatch manually inside `startTransition`\n const [isPending, startTransition] = useTransition();\n const [data, setData] = useState<R | null>(defaultValue);\n const [error, setError] = useState<Error>();\n\n const actionFn = useCallback(\n (...args: Parameters<typeof fn>) => {\n const promise = fn(...args);\n // https://react.dev/reference/react/useTransition#react-doesnt-treat-my-state-update-after-await-as-a-transition\n startTransition(() => promise.then(setData).catch(setError)); //FIXME sub-chain...\n return promise;\n },\n [fn],\n );\n\n return [data, actionFn, isPending, error];\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFetch.js","sources":["../../src/react/useFetch.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useState, useTransition } from 'react';\n\n//TODO useFetch https://use-http.com\n//TODO SWR?\n//TODO Tanstack Query?\nexport function useFetch<R>(\n fn: (...args: any[]) => Promise<R>,\n defaultValue: R | null = null,\n): [R | null, typeof fn, boolean, Error | undefined] {\n // An async function was passed to useActionState, but it was dispatched outside of an action context.\n // This is likely not what you intended. Either pass the dispatch function to an `action` prop, or dispatch manually inside `startTransition`\n const [isPending, startTransition] = useTransition();\n const [data, setData] = useState<R | null>(defaultValue);\n const [error, setError] = useState<Error>();\n\n const actionFn = useCallback(\n (...args: Parameters<typeof fn>) => {\n const promise = fn(...args);\n // https://react.dev/reference/react/useTransition#react-doesnt-treat-my-state-update-after-await-as-a-transition\n startTransition(() => promise.then(setData).catch(setError)); //FIXME sub-chain...\n return promise;\n },\n [fn],\n );\n\n return [data, actionFn, isPending, error];\n}\n"],"names":[],"mappings":";;AAOgB,SAAA,SACZ,IACA,eAAyB,MACwB;AAGjD,QAAM,CAAC,WAAW,eAAe,IAAI,cAAc;AACnD,QAAM,CAAC,MAAM,OAAO,IAAI,SAAmB,YAAY;AACvD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAgB;AAE1C,QAAM,WAAW;AAAA,IACb,IAAI,SAAgC;AAC1B,YAAA,UAAU,GAAG,GAAG,IAAI;AAE1B,sBAAgB,MAAM,QAAQ,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AACpD,aAAA;AAAA,IACX;AAAA,IACA,CAAC,EAAE;AAAA,EACP;AAEA,SAAO,CAAC,MAAM,UAAU,WAAW,KAAK;AAC5C;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveHelper.js","sources":["../../src/tailwind/responsiveHelper.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nexport function ResponsiveHelperTW() {\n return (\n <span className=\"fixed bottom-0 right-2 z-30 leading-none text-xs\">\n <small className=\"hidden xs:max-sm:block\">XS</small>\n <small className=\"hidden sm:max-md:block\">SM</small>\n <small className=\"hidden md:max-lg:block\">MD</small>\n <small className=\"hidden lg:max-xl:block\">LG</small>\n <small className=\"hidden xl:max-2xl:block\">XL</small>\n <small className=\"hidden 2xl:block\">XXL</small>\n </span>\n );\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"responsiveHelper.js","sources":["../../src/tailwind/responsiveHelper.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nexport function ResponsiveHelperTW() {\n return (\n <span className=\"fixed bottom-0 right-2 z-30 leading-none text-xs\">\n <small className=\"hidden xs:max-sm:block\">XS</small>\n <small className=\"hidden sm:max-md:block\">SM</small>\n <small className=\"hidden md:max-lg:block\">MD</small>\n <small className=\"hidden lg:max-xl:block\">LG</small>\n <small className=\"hidden xl:max-2xl:block\">XL</small>\n <small className=\"hidden 2xl:block\">XXL</small>\n </span>\n );\n}\n"],"names":[],"mappings":";;AAIO,SAAS,qBAAqB;AAE7B,SAAA,qBAAC,QAAK,EAAA,WAAU,oDACZ,UAAA;AAAA,IAAC,oBAAA,SAAA,EAAM,WAAU,0BAAyB,UAAE,MAAA;AAAA,IAC3C,oBAAA,SAAA,EAAM,WAAU,0BAAyB,UAAE,MAAA;AAAA,IAC3C,oBAAA,SAAA,EAAM,WAAU,0BAAyB,UAAE,MAAA;AAAA,IAC3C,oBAAA,SAAA,EAAM,WAAU,0BAAyB,UAAE,MAAA;AAAA,IAC3C,oBAAA,SAAA,EAAM,WAAU,2BAA0B,UAAE,MAAA;AAAA,IAC5C,oBAAA,SAAA,EAAM,WAAU,oBAAmB,UAAG,MAAA,CAAA;AAAA,EAAA,GAC3C;AAER;"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kirill.konshin/utils",
|
|
3
3
|
"description": "Utilities",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.14",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"----- BUILD -----": "",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"next": "^15.1.6",
|
|
58
58
|
"react-bootstrap": "^2.10.8",
|
|
59
59
|
"react-native": "^0.77.0",
|
|
60
|
+
"rollup-preserve-directives": "^1.1.3",
|
|
60
61
|
"sass-embedded": "^1.83.4",
|
|
61
62
|
"storybook": "^8.5.2",
|
|
62
63
|
"tailwindcss": "^4.0.1",
|
package/vite.config.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { defineConfig } from 'vitest/config';
|
|
1
|
+
import { defineConfig, type Plugin } from 'vitest/config';
|
|
2
2
|
import react from '@vitejs/plugin-react';
|
|
3
3
|
import dts from 'vite-plugin-dts';
|
|
4
|
+
import preserveDirectives from 'rollup-preserve-directives';
|
|
4
5
|
import { fixExports, formats, entry, external, distDir, generateIndex } from './vite.exports';
|
|
5
6
|
|
|
6
7
|
// https://rbardini.com/how-to-build-ts-library-with-vite/
|
|
@@ -33,6 +34,7 @@ export default defineConfig({
|
|
|
33
34
|
resolve: { extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'] }, // https://vite.dev/guide/performance#reduce-resolve-operations
|
|
34
35
|
plugins: [
|
|
35
36
|
react(),
|
|
37
|
+
preserveDirectives() as Plugin, // https://github.com/vitejs/vite/discussions/15721#discussioncomment-10572828
|
|
36
38
|
dts(), //TODO Check https://github.com/alloc/vite-dts
|
|
37
39
|
{
|
|
38
40
|
name: 'Generate Index & Exports',
|