Comments (6)
Hi @corbin-mosher ,
The TypeScript types seem to be not working with your tsconfig configuration. I'm trying to dig deeper to find a solution to why, this is very unexpected.
from cookies.
@eXon, yeah, it is very confusing.
I even tried cloning the cookies project and running it through my normal build pattern and I have the same type issue.
The only way I have gotten it to work is to also export Cookies
as a named export, not just the default. For some reason, with NodeNext
tsconfig there is a struggle with this declared Cookies
class, but only when its the default export 🙃
There have been one or two more npm packages that have had similar issues for me with default exports and NodeNext
, so I am likely going to just stick with Bundler
+ESNext
for now and continue using unbuild
(rollup) to handle build commands.
I am super curious though to learn what causes this hangup when building and resolving things purely with tsc
+tsconfig
. My guess is that there is some not very well known "specification" around ESM and types we are missing that has become required with the latest moduleResolution
🤷
from cookies.
@corbin-mosher This is fixed in 7.1.2, let me know if it works for you
from cookies.
@eXon, thanks! Types are working as expected now with NodeNext
for moduleResolution
in tsconfig
.
I really appreciate the quick help.
from cookies.
@eXon, now that I have had time to sit down with this further, it seems to me that the post build script plan might need some alterations.
It is impacting imports of external dependencies as well. For example, in react-cookies
the type file for CookieProvider
is altered from:
import * as React from 'react';
import Cookies from 'universal-cookie';
import { ReactCookieProps } from './types';
export default class CookiesProvider extends React.Component<ReactCookieProps, any> {
cookies: Cookies;
constructor(props: ReactCookieProps);
render(): React.JSX.Element;
}
to
import * as React from 'react.d.mts';
import Cookies from 'universal-cookie.d.mts';
import { ReactCookieProps } from './types.d.mts';
export default class CookiesProvider extends React.Component<ReactCookieProps, any> {
cookies: Cookies;
constructor(props: ReactCookieProps);
render(): React.JSX.Element;
}
Its possible that the change on line 3 is OK since it is referencing a file directly. But I think the changes on line 1 & 2 would cause issues. Let me know what you think.
from cookies.
@corbin-mosher You're right! I've fixed the regex, let me know if 7.1.4 works
from cookies.
Related Issues (20)
- react-cookie: Stricter returned cookie types HOT 1
- Memory leak with v6 HOT 10
- Nuxt3 error: Cookie is not a constructor HOT 2
- Import errors in `universal-cookie` and `react-cookie` HOT 3
- Support passing options to useCookies? HOT 1
- Error when using UniversalCookie in the browser HOT 1
- useCookies check for Provider doesn't work
- Is `removeCookie` supposed to replace a cookie's value with a string `"undefined"`? HOT 1
- Inconsistent change listener for cookie removal HOT 1
- Cannot read a refreshed cookie HOT 2
- How to retrieve a Cookie's Max-Age HOT 2
- Cookie.get method errors with "TypeError: e is not a function" in production builds HOT 5
- react-cookie types export for require is incorrect HOT 1
- Could not find a declaration file for module react-cookie error HOT 2
- CookiesProvider cannot be used as a JSX component. HOT 6
- Unexpected re-renders when the saved cookie is an object
- [DOC]: not clear if removecookie removes all of the cookies for a given key
- Unintended state change
- Unable to resolve path to module 'universal-cookie' after update to 7.2.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cookies.