dolanmiu / docx

Easily generate and modify .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser.

Home Page:https://docx.js.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nodenext: Module '"docx"' has no exported member 'Paragraph'.

Spitzbua opened this issue · comments

Cannot import any other Types but document using Basic Usage Example

import { Document, Packer, Paragraph, TextRun } from "docx";

leads to following error: Module '"docx"' has no exported member 'Paragraph'

I tried several import variants, but none of them was working:
#1201, #2365

Is it a misconfiguration or an library issue? Any help appreciated!

Options:

{
"compilerOptions": {
"module": "nodenext",
"moduleResolution": "nodenext",
"noImplicitReturns": true,
"noUnusedLocals": false,
"skipLibCheck": true,
"outDir": "lib",
"sourceMap": true,
"strict": true,
"target": "es6",
"typeRoots": [
"./node_modules/@types",
"./types"
]
},
"compileOnSave": true,
"include": [
"src"
]
}

I'm also experiencing this, is anyone able to please help?

I was able to use this module in pure JS but when switching to TS it won't compile and gives many errors which look like this:

Property 'Packer' does not exist on type 'typeof import("./node_modules/docx/build/index", { with: { "resolution-mode": "import" } })'.

The compiler will only seem to accept something like the following (non-sensical) code.

const { Document } = docx;
const { Packer, Paragraph, Table, TableCell, TableRow, Header, HeadingLevel, Footer, LevelFormat, TextRun, WidthType, AlignmentType, VerticalAlign, convertMillimetersToTwip, TableBorders, ShadingType, BorderStyle, ImageRun, HorizontalPositionAlign, VerticalPositionAlign, TextWrappingType, UnderlineType, FrameAnchorType } = Document;

Which gives errors like

TypeError: convertMillimetersToTwip is not a function

Here's my tsconfig,json

{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Node 21",
"_version": "21.0.0",
"files": [
"index.mts",
"index.d.ts"
],
"compilerOptions": {
"lib": [
"es2023",
"es5",
"es6",
"dom",
"dom.iterable"
],
"module": "node16",
"target": "es2022",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"moduleResolution": "node16"
}
}

Same here, even if it seems to work in local context.

import { IPatch, PatchType, TextRun, patchDocument } from 'docx';

TS could not infer any of these types, tsc tells this:
> error TS2305: Module '"docx"' has no exported member 'patchDocument'.

commented

I can confirm the same issue.