Skip to content

Commit e80a50d

Browse files
authored
#2846 Type error when importing docx in CJS file with TypeScript modu… (#2883)
* #2846 Type error when importing docx in CJS file with TypeScript moduleResolution set to node16 * Adhere to publint
1 parent df99f96 commit e80a50d

File tree

4 files changed

+32
-32
lines changed

4 files changed

+32
-32
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ node_modules
3333
.node_repl_history
3434

3535
# build
36-
build
37-
build-tests
36+
dist
3837

3938
# Documentation
4039
docs/api/

eslint.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import tsEslint from "typescript-eslint";
1010

1111
const config: Linter.Config<Linter.RulesRecord>[] = [
1212
{
13-
ignores: ["**/vite.config.ts", "**/build/**", "**/coverage/**", "**/*.js", "eslint.config.ts", "**/demo/**", "**/scripts/**"],
13+
ignores: ["**/vite.config.ts", "**/dist/**", "**/coverage/**", "**/*.js", "eslint.config.ts", "**/demo/**", "**/scripts/**"],
1414
},
1515
eslint.configs.recommended,
1616
importPlugin.flatConfigs.recommended,

package.json

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,23 @@
33
"version": "9.1.0",
44
"description": "Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser.",
55
"type": "module",
6-
"main": "build/index.umd.js",
7-
"module": "./build/index.mjs",
8-
"types": "./build/index.d.ts",
6+
"main": "dist/index.umd.cjs",
7+
"module": "./dist/index.mjs",
8+
"types": "./dist/index.d.ts",
99
"exports": {
1010
".": {
11-
"require": "./build/index.cjs",
12-
"types": "./build/index.d.ts",
13-
"import": "./build/index.mjs",
14-
"default": "./build/index.mjs"
11+
"import": {
12+
"types": "./dist/index.d.ts",
13+
"default": "./dist/index.mjs"
14+
},
15+
"require": {
16+
"types": "./dist/index.d.cts",
17+
"default": "./dist/index.cjs"
18+
}
1519
}
1620
},
1721
"files": [
18-
"build"
22+
"dist"
1923
],
2024
"scripts": {
2125
"build": "tsc && vite build",

vite.config.ts

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,18 @@ import dts from "vite-plugin-dts";
33
import { nodePolyfills } from "vite-plugin-node-polyfills";
44
import tsconfigPaths from "vite-tsconfig-paths";
55
import { configDefaults, defineConfig } from "vitest/config";
6+
import { copyFileSync } from "node:fs";
67

78
export default defineConfig({
89
plugins: [
910
tsconfigPaths(),
1011
dts({
11-
rollupTypes: true
12+
rollupTypes: true,
13+
afterBuild: () => {
14+
// https://github.com/dolanmiu/docx/pull/2883
15+
// To pass publint - `npx publint@latest`
16+
copyFileSync("dist/index.d.ts", "dist/index.d.cts");
17+
},
1218
}),
1319
nodePolyfills({
1420
exclude: [],
@@ -34,7 +40,7 @@ export default defineConfig({
3440
name: "docx",
3541
fileName: (d) => {
3642
if (d === "umd") {
37-
return "index.umd.js";
43+
return "index.umd.cjs";
3844
}
3945

4046
if (d === "cjs") {
@@ -53,7 +59,7 @@ export default defineConfig({
5359
},
5460
formats: ["iife", "es", "cjs", "umd"],
5561
},
56-
outDir: resolve(__dirname, "build"),
62+
outDir: resolve(__dirname, "dist"),
5763
commonjsOptions: {
5864
include: [/node_modules/],
5965
},
@@ -71,25 +77,16 @@ export default defineConfig({
7177
},
7278
exclude: [
7379
...configDefaults.exclude,
74-
'**/build/**',
75-
'**/demo/**',
76-
'**/docs/**',
77-
'**/scripts/**',
78-
'**/src/**/index.ts',
79-
'**/src/**/types.ts',
80-
'**/*.spec.ts',
80+
"**/dist/**",
81+
"**/demo/**",
82+
"**/docs/**",
83+
"**/scripts/**",
84+
"**/src/**/index.ts",
85+
"**/src/**/types.ts",
86+
"**/*.spec.ts",
8187
],
8288
},
83-
include: [
84-
'**/src/**/*.spec.ts',
85-
'**/packages/**/*.spec.ts'
86-
],
87-
exclude: [
88-
...configDefaults.exclude,
89-
'**/build/**',
90-
'**/demo/**',
91-
'**/docs/**',
92-
'**/scripts/**'
93-
],
89+
include: ["**/src/**/*.spec.ts", "**/packages/**/*.spec.ts"],
90+
exclude: [...configDefaults.exclude, "**/build/**", "**/demo/**", "**/docs/**", "**/scripts/**"],
9491
},
9592
});

0 commit comments

Comments
 (0)