diff --git a/package.json b/package.json index 2eb0370..9901232 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "web-utility", - "version": "4.7.1", + "version": "4.7.2", "license": "LGPL-3.0", "author": "shiy2008@gmail.com", "description": "Web front-end toolkit based on TypeScript", @@ -22,7 +22,16 @@ "source": "source/index.ts", "types": "dist/index.d.ts", "main": "dist/index.js", - "module": "dist/index.esm.js", + "module": "dist/index.mjs", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.js", + "default": "./dist/index.js" + }, + "./package.json": "./package.json" + }, "dependencies": { "@swc/helpers": "^0.5.23", "regenerator-runtime": "^0.14.1" diff --git a/test/package.spec.ts b/test/package.spec.ts new file mode 100644 index 0000000..d8c46b6 --- /dev/null +++ b/test/package.spec.ts @@ -0,0 +1,20 @@ +import packageJSON from '../package.json'; + +describe('Package exports', () => { + it('should expose standard npm ESM & CJS entry points', () => { + expect(packageJSON.types).toBe('dist/index.d.ts'); + expect(packageJSON.source).toBe('source/index.ts'); + expect(packageJSON.main).toBe('dist/index.js'); + expect(packageJSON.module).toBe('dist/index.mjs'); + + expect(packageJSON.exports).toEqual({ + '.': { + types: './dist/index.d.ts', + import: './dist/index.mjs', + require: './dist/index.js', + default: './dist/index.js' + }, + './package.json': './package.json' + }); + }); +});