Could not find a declaration file for module '#editorjs/image' - javascript

I am using editorjs in my project and there are no typescript files in my project.
Could not find a declaration file for module '#editorjs/image'. 'node_modules/#editorjs/image/dist/bundle.js' implicitly has an 'any' type.
Try npm i --save-dev #types/editorjs__image if it exists or add a new declaration (.d.ts) file containing declare module '#editorjs/image';ts(7016)
No quick fixes are available. The typescript package is not available and when I am creating .d.ts file in the project
declare module "#editorjs/image"
but it is not referring to the editorjs/image package for the usage.

The problem is that the .d.ts file you've created in the project should also be listed as a part of your project in your tsconfig.json:
"include": [
"**/*.ts",
"**/*.tsx",
"global.d.ts" // << specify your file here
],

Related

TypeScript | Facing Error while trying to import a dependency

I am not used to using node js and typescript.
I tried importing Paytm dependency using the following code:
npm install paytmchecksum
or
by adding the below code in package.json
"dependencies": {
...
"paytmchecksum": "^1.5.0"
...
}
Now, I am using firebase, typescript and node.js.
When I try importing, using
import PaytmChecksum from "../node_modules/PaytmChecksum";
import PaytmChecksum from "paytmchecksum";
or any other thing. There are just errors. I believe maybe because the dependency is to be used with javascript rather than typescript.
I get the following error:
Could not find a declaration file for module '../node_modules/PaytmChecksum'. 'd:/firebase-functions/functions/node_modules/PaytmChecksum/PaytmChecksum.js' implicitly has an 'any' type.
sometimes I get this,
Could not find a declaration file for module 'paytmchecksum'. 'D:/firebase-functions/functions/node_modules/paytmchecksum/PaytmChecksum.js' implicitly has an 'any' type.
Try npm i --save-dev #types/paytmchecksum if it exists or add a new declaration (.d.ts) file containing declare module 'paytmchecksum';
What is the workaround for this problem?
You either need to create your own type declarations file or use #ts-ignore on the line before the import.
If you create your own type.d.ts file, you will need to make sure that it is included the project in your tsconfig.json project file.
The type file can be as simple as one line (./mytypes/paytmchecksum.d.ts):
declare module 'paytmchecksum';
This simply gets rid of the implied any and makes it explicit. You won't get any intellisense or type checking, but it will fix the error. You could go the extra mile and create a full type-definition file. If you, do you should add it to the #types repository so others can use it.
Then just add include to your tsconfig.json file:
{ "include": [
"mytypes/paytmchecksum.d.ts"
]
}

Unable to import WebRTCAdaptor which is in js file from antmedia package in node modules folder in angular ts file

It is showing an error that :
Could not find a declaration file for the module
'#antmedia/webrtc_adaptor/js/webrtc_adaptor.js'.
'D:/web/node_modules/#antmedia/webrtc_adaptor/js/webrtc_adaptor.js'
implicitly has an 'any' type.
Try `npm i --save-dev #types/antmedia__webrtc_adaptor`
if it exists or add a new declaration (.d.ts) file containing
`declare module '#antmedia/webrtc_adaptor/js/webrtc_adaptor.js';`
Reference Image here: https://i.stack.imgur.com/JKQdR.png
Hope you are doing well. Your error is self explanatory.
In order to resolve your issue what you have to do is to create a folder named "antmedia__webrtc_adaptor" at the below path and create a file named "index.d.ts"
Inside the index.d.ts file you have to put the below code and save it.
inside index.d.ts paste the code declare module '#antmedia/webrtc_adaptor'
node_modules/#types/antmedia__webrtc_adaptor/index.d.ts
I am not mentioning the reason why i did so to resolve the issue, I have left this on you to do some research work.
Have a nice weekend.
Cheers

define types for react-excel-renderer

I am using a library react-excel-renderer in Typescript but I get this message while importing it:
Could not find a declaration file for module 'react-excel-renderer'. 'react-flask-app/node_modules/react-excel-renderer/build/index.js' implicitly has an 'any' type.
Try `npm install #types/react-excel-renderer` if it exists or add a new declaration (.d.ts) file containing `declare module 'react-excel-renderer';`
I tried installing types but since they don't exist in npm, I added a #types folder in src with
declare module 'react-excel-renderer';
or
declare module '*';
I tried naming the file react-excel-renderer.d.ts, global.d.ts, and even .d.ts but none of these seem to work. I still see the same error upon importing this library.
What else should I try?
tsconfig file:
"include": [
"src", "src/#types/.d.ts", "#types"
]
Inside my project I created a folder called #types and added it to tsconfig.json for find all required types from it . So it looks somewhat like this -
"typeRoots": [
"../node_modules/#types",
"../#types"
]
And inside that I created a file called alltypes.d.ts . To find the unknown types from it . so for me these were the unknown types and I added it over there.
declare module 'react-excel-renderer';
So now the typescript didn't complain about the types not found anymore.

How do I use typescript definition files (.d.ts) in a angularjs application without reference path?

I want to use .d.ts files for intellisense in javascript using VScode. For example, I have an angular js file comments.js, In this file, I want to use the type definitions from utilities.d.ts which exports a namespace "Utilities".
So typing Utilties. would trigger intellisense for the methods in utilities.d.ts.
Is this possible in a javascript application without using reference path?
/// ?
You can create a separate folder for your typings and reference them in the tsconfig.json file:
{
"include": [
"src/typings/**/*.d.ts"
],
}
According to the official documentation you can also use the compilerOptions/typeRoots section, but I use include to reference my typings and it works fine.

add typings to javascript project

I'm using closure library, but vscode doesn't understand the goog.require statements so intellisense is kind of useless.
I found typings at https://github.com/teppeis/closure-library.d.ts, and this works if I add a /// comment to the top of the file.
But it's going to get really annoying to add this to every single file in my project. Is there some way I can configure vscode to automatically reference this for all the javascript files in the project?
Try creating a jsconfig.json file at the root of your workspace:
{
"compilerOptions": {
},
"exclude": [
"node_modules"
]
}
This creates a project that will include any .js and .d.ts files in your workspace. You can also explicitly manage which files are part of a project using the files or include jsconfig options: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

Categories