From 2377599f1288614e4a6cc7714e8c0529b6fefd37 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Thu, 24 Oct 2024 16:59:17 -0500 Subject: [PATCH 1/3] add support for bundling both esm and cjs versions --- packages/osc/package.json | 17 ++++++++++++++--- packages/osc/tsconfig.cjs.json | 8 ++++++++ packages/osc/tsconfig.esm.json | 8 ++++++++ packages/osc/tsconfig.json | 14 +++++++------- packages/osc/tsconfig.types.json | 8 ++++++++ 5 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 packages/osc/tsconfig.cjs.json create mode 100644 packages/osc/tsconfig.esm.json create mode 100644 packages/osc/tsconfig.types.json diff --git a/packages/osc/package.json b/packages/osc/package.json index 5558ccd..3637c48 100644 --- a/packages/osc/package.json +++ b/packages/osc/package.json @@ -2,11 +2,22 @@ "name": "@jwetzell/osc", "version": "1.2.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/osc/tsconfig.cjs.json b/packages/osc/tsconfig.cjs.json new file mode 100644 index 0000000..265ef58 --- /dev/null +++ b/packages/osc/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "CommonJS", + "declaration": false, + "outDir": "./dist/cjs" + } +} diff --git a/packages/osc/tsconfig.esm.json b/packages/osc/tsconfig.esm.json new file mode 100644 index 0000000..547b0be --- /dev/null +++ b/packages/osc/tsconfig.esm.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "ESNext", + "declaration": false, + "outDir": "./dist/esm" + } +} diff --git a/packages/osc/tsconfig.json b/packages/osc/tsconfig.json index 71e16d2..a5d4c1d 100644 --- a/packages/osc/tsconfig.json +++ b/packages/osc/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/osc/tsconfig.types.json b/packages/osc/tsconfig.types.json new file mode 100644 index 0000000..2497e33 --- /dev/null +++ b/packages/osc/tsconfig.types.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "emitDeclarationOnly": true, + "declaration": true, + "outDir": "./dist/types" + } +} From 2089893a2534a682bf8f15c7dc212bae3a42bf70 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Fri, 25 Oct 2024 09:05:33 -0500 Subject: [PATCH 2/3] fix import in tests --- packages/osc/tests/bundle-decode.test.js | 2 +- packages/osc/tests/bundle-encode.test.js | 2 +- packages/osc/tests/message-decode.test.js | 2 +- packages/osc/tests/message-encode.test.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/osc/tests/bundle-decode.test.js b/packages/osc/tests/bundle-decode.test.js index 2f6e53c..bc62214 100644 --- a/packages/osc/tests/bundle-decode.test.js +++ b/packages/osc/tests/bundle-decode.test.js @@ -1,6 +1,6 @@ const { deepEqual, equal } = require('assert'); const { describe, it } = require('node:test'); -const osc = require('../dist/index'); +const osc = require('../dist/cjs/index'); const tests = [ { diff --git a/packages/osc/tests/bundle-encode.test.js b/packages/osc/tests/bundle-encode.test.js index c9205e4..7cca374 100644 --- a/packages/osc/tests/bundle-encode.test.js +++ b/packages/osc/tests/bundle-encode.test.js @@ -1,6 +1,6 @@ const { deepEqual } = require('assert'); const { describe, it } = require('node:test'); -const osc = require('../dist/index'); +const osc = require('../dist/cjs/index'); const tests = [ { diff --git a/packages/osc/tests/message-decode.test.js b/packages/osc/tests/message-decode.test.js index b0298e5..ab365c5 100644 --- a/packages/osc/tests/message-decode.test.js +++ b/packages/osc/tests/message-decode.test.js @@ -1,6 +1,6 @@ const { deepEqual, throws, equal } = require('assert'); const { describe, it } = require('node:test'); -const osc = require('../dist/index'); +const osc = require('../dist/cjs/index'); const tests = [ { diff --git a/packages/osc/tests/message-encode.test.js b/packages/osc/tests/message-encode.test.js index d89b50f..c1a7f0f 100644 --- a/packages/osc/tests/message-encode.test.js +++ b/packages/osc/tests/message-encode.test.js @@ -1,6 +1,6 @@ const { deepEqual, throws } = require('assert'); const { describe, it } = require('node:test'); -const osc = require('../dist/index'); +const osc = require('../dist/cjs/index'); const tests = [ { From 2ee515ae5b0d9888819b836f18415fd3d38cde18 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Fri, 25 Oct 2024 09:10:52 -0500 Subject: [PATCH 3/3] npm run format:write --- packages/osc/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/osc/package.json b/packages/osc/package.json index 3637c48..424c704 100644 --- a/packages/osc/package.json +++ b/packages/osc/package.json @@ -15,9 +15,9 @@ "scripts": { "prebuild": "rimraf dist", "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", + "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"