Skip to content

Commit c25e2e6

Browse files
Fix CJS types (#2880)
* Fix Vue type error * Add separate CTS types * Add “Are The Types Wrong” CLI * wip * Bump node versions in workflows * wip * wip * wip * yolo * yolo (again?) * wip * wip
1 parent c2096b0 commit c25e2e6

File tree

14 files changed

+233
-14
lines changed

14 files changed

+233
-14
lines changed

.github/workflows/main.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ concurrency:
1010
cancel-in-progress: true
1111

1212
env:
13-
NODE_VERSION: 16.x
13+
NODE_VERSION: 18.x
1414

1515
jobs:
1616
install:
@@ -80,3 +80,19 @@ jobs:
8080
run: yarn build
8181
env:
8282
CI: true
83+
84+
check-types:
85+
runs-on: ubuntu-latest
86+
needs: [build]
87+
88+
steps:
89+
- name: Begin CI...
90+
uses: actions/checkout@v3
91+
- uses: actions/cache@v3
92+
with:
93+
path: '**/node_modules'
94+
key: ${{ runner.os }}-${{ env.NODE_VERSION }}-modules-${{ hashFiles('**/yarn.lock') }}
95+
- name: Check Types
96+
run: yarn lint-types
97+
env:
98+
CI: true

.github/workflows/prepare-release.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ jobs:
2626
steps:
2727
- uses: actions/checkout@v3
2828

29+
- name: Check Types
30+
run: |
31+
yarn build
32+
yarn lint-types
33+
env:
34+
CI: true
35+
2936
- run: git fetch --tags -f
3037

3138
- name: Resolve version

.github/workflows/release-insiders.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
strategy:
1616
matrix:
17-
node-version: [16]
17+
node-version: [18]
1818

1919
steps:
2020
- uses: actions/checkout@v3

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
strategy:
2222
matrix:
23-
node-version: [16]
23+
node-version: [18]
2424

2525
steps:
2626
- uses: actions/checkout@v3

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"test": "./scripts/test.sh",
2222
"lint": "./scripts/lint.sh",
2323
"lint-check": "CI=true ./scripts/lint.sh",
24+
"lint-types": "CI=true yarn workspaces run lint-types",
2425
"release-channel": "node ./scripts/release-channel.js",
2526
"release-notes": "node ./scripts/release-notes.js",
2627
"package-path": "node ./scripts/package-path.js"
@@ -44,6 +45,7 @@
4445
]
4546
},
4647
"devDependencies": {
48+
"@arethetypeswrong/cli": "^0.13.3",
4749
"@swc/core": "^1.2.131",
4850
"@swc/jest": "^0.2.17",
4951
"@testing-library/jest-dom": "^5.16.4",

packages/@headlessui-react/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
"dist"
1212
],
1313
"exports": {
14-
"types": "./dist/index.d.ts",
14+
"types": {
15+
"import": "./dist/index.d.ts",
16+
"require": "./dist/index.d.cts"
17+
},
1518
"import": "./dist/headlessui.esm.js",
1619
"require": "./dist/index.cjs"
1720
},
@@ -34,6 +37,7 @@
3437
"watch": "../../scripts/watch.sh --external:react --external:react-dom",
3538
"test": "../../scripts/test.sh",
3639
"lint": "../../scripts/lint.sh",
40+
"lint-types": "yarn run attw -P",
3741
"playground": "yarn workspace playground-react dev",
3842
"clean": "rimraf ./dist"
3943
},

packages/@headlessui-tailwindcss/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
"dist"
1212
],
1313
"exports": {
14-
"types": "./dist/index.d.ts",
14+
"types": {
15+
"import": "./dist/index.d.ts",
16+
"require": "./dist/index.d.cts"
17+
},
1518
"import": "./dist/headlessui.esm.js",
1619
"require": "./dist/index.cjs"
1720
},
@@ -33,6 +36,7 @@
3336
"watch": "../../scripts/watch.sh --external:tailwindcss",
3437
"test": "../../scripts/test.sh",
3538
"lint": "../../scripts/lint.sh",
39+
"lint-types": "yarn run attw -P",
3640
"clean": "rimraf ./dist"
3741
},
3842
"peerDependencies": {

packages/@headlessui-tailwindcss/scripts/fix-types.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ let path = require('path')
1212
* CommonJs environment.
1313
**/
1414

15-
let types = path.resolve(__dirname, '..', 'dist', 'index.d.ts')
15+
let esmTypes = path.resolve(__dirname, '..', 'dist', 'index.d.ts')
16+
let cjsTypes = path.resolve(__dirname, '..', 'dist', 'index.d.cts')
1617

1718
async function run() {
18-
let contents = await fs.readFile(types, 'utf8')
19+
let contents = await fs.readFile(esmTypes, 'utf8')
1920
contents = contents.replace('export default', 'export =')
20-
await fs.writeFile(types, contents, 'utf8')
21+
await fs.writeFile(cjsTypes, contents, 'utf8')
2122
}
2223

2324
run()

packages/@headlessui-vue/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
"dist"
1212
],
1313
"exports": {
14-
"types": "./dist/index.d.ts",
14+
"types": {
15+
"import": "./dist/index.d.ts",
16+
"require": "./dist/index.d.cts"
17+
},
1518
"import": "./dist/headlessui.esm.js",
1619
"require": "./dist/index.cjs"
1720
},
@@ -34,6 +37,7 @@
3437
"watch": "../../scripts/watch.sh --external:vue",
3538
"test": "../../scripts/test.sh",
3639
"lint": "../../scripts/lint.sh",
40+
"lint-types": "yarn run attw -P",
3741
"playground": "yarn workspace playground-vue dev",
3842
"clean": "rimraf ./dist"
3943
},

packages/@headlessui-vue/src/utils/owner.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export function getOwnerDocument<T extends Element | Ref<Element | null>>(
88
if (env.isServer) return null
99
if (element instanceof Node) return element.ownerDocument
1010
if (element?.hasOwnProperty('value')) {
11-
let domElement = dom(element)
11+
let domElement = dom(element as any)
1212
if (domElement) return domElement.ownerDocument
1313
}
1414

0 commit comments

Comments
 (0)