diff --git a/packages/acn/package.json b/packages/acn/package.json index 7290230..6a70e52 100644 --- a/packages/acn/package.json +++ b/packages/acn/package.json @@ -2,11 +2,22 @@ "name": "@jwetzell/acn", "version": "0.1.0", "description": "", - "main": "dist/index.js", - "types": "dist/index.d.ts", + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "types": "./dist/types/index.d.ts", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js", + "types": "./dist/types/index.d.ts" + } + }, "scripts": { "prebuild": "rimraf dist", - "build": "tsc", + "build": "npm run build:cjs && npm run build:esm && npm run build:types", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:esm": "tsc -p tsconfig.esm.json", + "build:types": "tsc -p tsconfig.types.json", "prepublishOnly": "npm run build", "pretest": "npm run build", "test": "node --test --experimental-test-coverage" diff --git a/packages/acn/tests/udp-decode.test.js b/packages/acn/tests/udp-decode.test.js index 026cec7..296d872 100644 --- a/packages/acn/tests/udp-decode.test.js +++ b/packages/acn/tests/udp-decode.test.js @@ -1,6 +1,6 @@ const { deepEqual, throws } = require('assert'); const { describe, it } = require('node:test'); -const acn = require('../dist/index'); +const acn = require('../dist/cjs/index'); const goodTests = [ { diff --git a/packages/acn/tsconfig.cjs.json b/packages/acn/tsconfig.cjs.json new file mode 100644 index 0000000..265ef58 --- /dev/null +++ b/packages/acn/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "CommonJS", + "declaration": false, + "outDir": "./dist/cjs" + } +} diff --git a/packages/acn/tsconfig.esm.json b/packages/acn/tsconfig.esm.json new file mode 100644 index 0000000..547b0be --- /dev/null +++ b/packages/acn/tsconfig.esm.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "ESNext", + "declaration": false, + "outDir": "./dist/esm" + } +} diff --git a/packages/acn/tsconfig.json b/packages/acn/tsconfig.json index 71e16d2..a5d4c1d 100644 --- a/packages/acn/tsconfig.json +++ b/packages/acn/tsconfig.json @@ -1,12 +1,12 @@ { "compilerOptions": { + "moduleResolution": "Node", + "lib": ["ESNext"], + "target": "ESNext", "esModuleInterop": true, - "module": "commonjs", - "target": "ES2020", - "declaration": true, - "rootDir": "./src", - "strict": true, - "outDir": "dist" + "isolatedModules": true, + "rootDir": "src/", + "strict": true }, - "exclude": ["node_modules", "dist", "examples"] + "include": ["src/"] } diff --git a/packages/acn/tsconfig.types.json b/packages/acn/tsconfig.types.json new file mode 100644 index 0000000..2497e33 --- /dev/null +++ b/packages/acn/tsconfig.types.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "emitDeclarationOnly": true, + "declaration": true, + "outDir": "./dist/types" + } +}