types must be the first element (#74)

* types must be the first element. Spotted by publint.dev

* Package test for exports

* Test package.json for string exports

---------

Co-authored-by: Kenny Daniel <platypii@gmail.com>
This commit is contained in:
Sylvain Lesage 2025-04-16 21:29:43 +02:00 committed by GitHub
parent 319a0e9e57
commit 7f0b57e265
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 4 deletions

@ -30,12 +30,12 @@
"types": "types/hyparquet.d.ts",
"exports": {
".": {
"import": "./src/hyparquet.js",
"types": "./types/hyparquet.d.ts"
"types": "./types/hyparquet.d.ts",
"import": "./src/hyparquet.js"
},
"./src/*.js": {
"import": "./src/*.js",
"types": "./types/*.d.ts"
"types": "./types/*.d.ts",
"import": "./src/*.js"
}
},
"scripts": {

@ -21,4 +21,15 @@ describe('package.json', () => {
expect('dependencies' in packageJson).toBe(false)
expect('peerDependencies' in packageJson).toBe(false)
})
it('should have exports with types first', () => {
const { exports } = packageJson
expect(exports).toBeDefined()
for (const [, exportObj] of Object.entries(exports)) {
if (typeof exportObj === 'object') {
expect(Object.keys(exportObj)).toEqual(['types', 'import'])
} else {
expect(typeof exportObj).toBe('string')
}
}
})
})