asigloo / vue-dynamic-forms

Easy way to dynamically create reactive forms in Vue based on a varying business object model
https://vue-dynamic-forms.netlify.app/
MIT License
395 stars 45 forks source link

Missing TypeScript declaration file #284

Open leonplata-tx opened 2 years ago

leonplata-tx commented 2 years ago

Version

3.x.x (Vue 3.x)

Describe the bug

I'm not being able to make the typings work on .ts files, the following errors are being shown:

Visual Studio Code 1.62.0:

"Could not find a declaration file for module '@asigloo/vue-dynamic-forms'."

IntelliJ IDEA 2021.2:

TS2307: Cannot find module '@asigloo/vue-dynamic-forms/dist' or its corresponding type declarations.

Using npm run serve command (on a new scaffolded vue project):

TS7016: Could not find a declaration file for module '@asigloo/vue-dynamic-forms'. 'H:/hello-world/node_modules/@asigloo/vue-dynamic-forms/dist/as-dynamic-forms.cjs.js' implicitly has an 'any' type.
  Try `npm i --save-dev @types/asigloo__vue-dynamic-forms` if it exists or add a new declaration (.d.ts) file containing `declare module '@asigloo/vue-dynamic-forms';`

Describe the bug

  1. Scaffold a new Vue 3 project with Vue CLI: vue create hello-world with TypeScript feature
  2. Run npm install @asigloo/vue-dynamic-forms.
  3. Create a main.ts file if not exist.
  4. Add import { createDynamicForms } from '@asigloo/vue-dynamic-forms' to main.ts file.

Expected behavior

The IDE can recognize the typings of imported modules from @asigloo/vue-dynamic-forms on TypeScript files.

System Info

System:
    OS: Windows 10 10.0.19043
    CPU: (16) x64 AMD Ryzen 7 2700 Eight-Core Processor
    Memory: 14.66 GB / 31.93 GB
  Binaries:
    Node: 14.15.4 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.5 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.14.10 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 95.0.4638.69
    Edge: Spartan (44.19041.1266.0), Chromium (95.0.1020.44)
    Internet Explorer: 11.0.19041.1202
  npmPackages:
    @asigloo/vue-dynamic-forms: ^3.18.0 => 3.18.0

Additional context

No response

Validations

mrweiner commented 2 years ago

FWIW, I was seeing this until I added declarations to my main.ts as described in https://github.com/asigloo/vue-dynamic-forms/issues/235, as well as the "failed to resolve component" described in the ticket. The ts error went away and everything started working after I made those updates.

mrweiner commented 2 years ago

Figure I should add the specific changes to main.ts that I'm referring to.

import { createDynamicForms } from '@asigloo/vue-dynamic-forms';
const VueDynamicForms = createDynamicForms({});
app.use(VueDynamicForms);
mrweiner commented 2 years ago

Actually...scratch that. The error did disappear, but it's showing up again after reopening the project. Must have just been a fluke.

Fanna1119 commented 2 years ago

I am still getting this. Any update? still no typescript declarations detected. can you maybe have a look if it is correct?

Fanna1119 commented 2 years ago

Actually...scratch that. The error did disappear, but it's showing up again after reopening the project. Must have just been a fluke.

how did you exactly solve this? I can't compile it because it screams for TS declarations. I am unable to find them

mjcc007 commented 2 years ago

please publish your typescript .d.ts use run build:tsd.