From a263c35c8d255b54111ec9b3a78b80407f6d3a90 Mon Sep 17 00:00:00 2001 From: Luis Covarrubias Date: Wed, 19 Nov 2025 16:27:48 -0800 Subject: [PATCH] feat: add ESM build support for utxo coins Ticket: BTC-2732 TICKET: BTC-2732 --- modules/sdk-coin-bch/package.json | 27 ++++++++++++++++++++----- modules/sdk-coin-bch/tsconfig.esm.json | 17 ++++++++++++++++ modules/sdk-coin-bch/tsconfig.json | 2 +- modules/sdk-coin-bcha/package.json | 27 ++++++++++++++++++++----- modules/sdk-coin-bcha/tsconfig.esm.json | 17 ++++++++++++++++ modules/sdk-coin-bcha/tsconfig.json | 2 +- modules/sdk-coin-bsv/package.json | 27 ++++++++++++++++++++----- modules/sdk-coin-bsv/tsconfig.esm.json | 17 ++++++++++++++++ modules/sdk-coin-bsv/tsconfig.json | 2 +- modules/sdk-coin-btc/package.json | 27 ++++++++++++++++++++----- modules/sdk-coin-btc/tsconfig.esm.json | 17 ++++++++++++++++ modules/sdk-coin-btc/tsconfig.json | 2 +- modules/sdk-coin-btg/package.json | 27 ++++++++++++++++++++----- modules/sdk-coin-btg/tsconfig.esm.json | 17 ++++++++++++++++ modules/sdk-coin-btg/tsconfig.json | 2 +- modules/sdk-coin-dash/package.json | 27 ++++++++++++++++++++----- modules/sdk-coin-dash/tsconfig.esm.json | 17 ++++++++++++++++ modules/sdk-coin-dash/tsconfig.json | 2 +- modules/sdk-coin-doge/package.json | 27 ++++++++++++++++++++----- modules/sdk-coin-doge/tsconfig.esm.json | 17 ++++++++++++++++ modules/sdk-coin-doge/tsconfig.json | 2 +- modules/sdk-coin-ltc/package.json | 27 ++++++++++++++++++++----- modules/sdk-coin-ltc/tsconfig.esm.json | 17 ++++++++++++++++ modules/sdk-coin-ltc/tsconfig.json | 2 +- modules/sdk-coin-zec/package.json | 27 ++++++++++++++++++++----- modules/sdk-coin-zec/tsconfig.esm.json | 17 ++++++++++++++++ modules/sdk-coin-zec/tsconfig.json | 2 +- 27 files changed, 360 insertions(+), 54 deletions(-) create mode 100644 modules/sdk-coin-bch/tsconfig.esm.json create mode 100644 modules/sdk-coin-bcha/tsconfig.esm.json create mode 100644 modules/sdk-coin-bsv/tsconfig.esm.json create mode 100644 modules/sdk-coin-btc/tsconfig.esm.json create mode 100644 modules/sdk-coin-btg/tsconfig.esm.json create mode 100644 modules/sdk-coin-dash/tsconfig.esm.json create mode 100644 modules/sdk-coin-doge/tsconfig.esm.json create mode 100644 modules/sdk-coin-ltc/tsconfig.esm.json create mode 100644 modules/sdk-coin-zec/tsconfig.esm.json diff --git a/modules/sdk-coin-bch/package.json b/modules/sdk-coin-bch/package.json index 15758c5753..2a6a930bf6 100644 --- a/modules/sdk-coin-bch/package.json +++ b/modules/sdk-coin-bch/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-bch", "version": "2.5.5", "description": "BitGo SDK coin library for Bitcoin Cash", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "unit-test": "echo 'test in abstract-utxo'" @@ -43,6 +59,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-bch/tsconfig.esm.json b/modules/sdk-coin-bch/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-bch/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-bch/tsconfig.json b/modules/sdk-coin-bch/tsconfig.json index 2e0a0616c5..0bc7d7ad07 100644 --- a/modules/sdk-coin-bch/tsconfig.json +++ b/modules/sdk-coin-bch/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true, diff --git a/modules/sdk-coin-bcha/package.json b/modules/sdk-coin-bcha/package.json index 4f0e41a513..7f7dc6d4f5 100644 --- a/modules/sdk-coin-bcha/package.json +++ b/modules/sdk-coin-bcha/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-bcha", "version": "2.6.5", "description": "BitGo SDK coin library for Bitcoin abc", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "unit-test": "echo 'test in abstract-utxo'" @@ -43,6 +59,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-bcha/tsconfig.esm.json b/modules/sdk-coin-bcha/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-bcha/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-bcha/tsconfig.json b/modules/sdk-coin-bcha/tsconfig.json index 9e8efae3cd..8f0013f605 100644 --- a/modules/sdk-coin-bcha/tsconfig.json +++ b/modules/sdk-coin-bcha/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true, diff --git a/modules/sdk-coin-bsv/package.json b/modules/sdk-coin-bsv/package.json index b714866350..889f9c9008 100644 --- a/modules/sdk-coin-bsv/package.json +++ b/modules/sdk-coin-bsv/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-bsv", "version": "2.5.5", "description": "BitGo SDK coin library for Bitcoin sv", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "unit-test": "echo 'test in abstract-utxo'" @@ -43,6 +59,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-bsv/tsconfig.esm.json b/modules/sdk-coin-bsv/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-bsv/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-bsv/tsconfig.json b/modules/sdk-coin-bsv/tsconfig.json index 9e8efae3cd..8f0013f605 100644 --- a/modules/sdk-coin-bsv/tsconfig.json +++ b/modules/sdk-coin-bsv/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true, diff --git a/modules/sdk-coin-btc/package.json b/modules/sdk-coin-btc/package.json index 9a69407ed4..3d2a53bb74 100644 --- a/modules/sdk-coin-btc/package.json +++ b/modules/sdk-coin-btc/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-btc", "version": "2.10.5", "description": "BitGo SDK coin library for Bitcoin", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "unit-test": "echo 'test in abstract-utxo'" @@ -43,6 +59,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-btc/tsconfig.esm.json b/modules/sdk-coin-btc/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-btc/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-btc/tsconfig.json b/modules/sdk-coin-btc/tsconfig.json index eab11dafbe..24dc2dbfc7 100644 --- a/modules/sdk-coin-btc/tsconfig.json +++ b/modules/sdk-coin-btc/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true, diff --git a/modules/sdk-coin-btg/package.json b/modules/sdk-coin-btg/package.json index 93c4c17062..a0757aa88e 100644 --- a/modules/sdk-coin-btg/package.json +++ b/modules/sdk-coin-btg/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-btg", "version": "2.5.5", "description": "BitGo SDK coin library for Bitcoin Gold", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "unit-test": "echo 'test in abstract-utxo'" @@ -43,6 +59,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-btg/tsconfig.esm.json b/modules/sdk-coin-btg/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-btg/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-btg/tsconfig.json b/modules/sdk-coin-btg/tsconfig.json index 2e0a0616c5..0bc7d7ad07 100644 --- a/modules/sdk-coin-btg/tsconfig.json +++ b/modules/sdk-coin-btg/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true, diff --git a/modules/sdk-coin-dash/package.json b/modules/sdk-coin-dash/package.json index 1335d4222e..7afabf3427 100644 --- a/modules/sdk-coin-dash/package.json +++ b/modules/sdk-coin-dash/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-dash", "version": "2.5.5", "description": "BitGo SDK coin library for Dash", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "unit-test": "echo 'test in abstract-utxo'" @@ -43,6 +59,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-dash/tsconfig.esm.json b/modules/sdk-coin-dash/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-dash/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-dash/tsconfig.json b/modules/sdk-coin-dash/tsconfig.json index 2e0a0616c5..0bc7d7ad07 100644 --- a/modules/sdk-coin-dash/tsconfig.json +++ b/modules/sdk-coin-dash/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true, diff --git a/modules/sdk-coin-doge/package.json b/modules/sdk-coin-doge/package.json index 9c40db81f4..8fa01c36b1 100644 --- a/modules/sdk-coin-doge/package.json +++ b/modules/sdk-coin-doge/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-doge", "version": "2.5.5", "description": "BitGo SDK coin library for Dogecoin", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "unit-test": "echo 'test in abstract-utxo'" @@ -43,6 +59,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-doge/tsconfig.esm.json b/modules/sdk-coin-doge/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-doge/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-doge/tsconfig.json b/modules/sdk-coin-doge/tsconfig.json index 2e0a0616c5..0bc7d7ad07 100644 --- a/modules/sdk-coin-doge/tsconfig.json +++ b/modules/sdk-coin-doge/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true, diff --git a/modules/sdk-coin-ltc/package.json b/modules/sdk-coin-ltc/package.json index ce50c827d8..7962492109 100644 --- a/modules/sdk-coin-ltc/package.json +++ b/modules/sdk-coin-ltc/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-ltc", "version": "3.5.5", "description": "BitGo SDK coin library for Litecoin", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "unit-test": "echo 'test in abstract-utxo'" @@ -43,6 +59,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-ltc/tsconfig.esm.json b/modules/sdk-coin-ltc/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-ltc/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-ltc/tsconfig.json b/modules/sdk-coin-ltc/tsconfig.json index 2e0a0616c5..0bc7d7ad07 100644 --- a/modules/sdk-coin-ltc/tsconfig.json +++ b/modules/sdk-coin-ltc/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true, diff --git a/modules/sdk-coin-zec/package.json b/modules/sdk-coin-zec/package.json index 3198168c8e..7c07b8daa5 100644 --- a/modules/sdk-coin-zec/package.json +++ b/modules/sdk-coin-zec/package.json @@ -2,13 +2,29 @@ "name": "@bitgo/sdk-coin-zec", "version": "2.5.5", "description": "BitGo SDK coin library for Zcash", - "main": "./dist/src/index.js", - "types": "./dist/src/index.d.ts", + "main": "./dist/cjs/src/index.js", + "module": "./dist/esm/index.js", + "browser": "./dist/esm/index.js", + "types": "./dist/cjs/src/index.d.ts", + "exports": { + ".": { + "import": { + "types": "./dist/esm/index.d.ts", + "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/cjs/src/index.d.ts", + "default": "./dist/cjs/src/index.js" + } + } + }, "scripts": { - "build": "yarn tsc --build --incremental --verbose .", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "yarn tsc --build --incremental --verbose .", + "build:esm": "yarn tsc --project tsconfig.esm.json", "fmt": "prettier --write .", "check-fmt": "prettier --check '**/*.{ts,js,json}'", - "clean": "rm -r ./dist", + "clean": "rm -rf ./dist", "lint": "eslint --quiet .", "prepare": "npm run build", "unit-test": "echo 'test in abstract-utxo'" @@ -43,6 +59,7 @@ }, "gitHead": "18e460ddf02de2dbf13c2aa243478188fb539f0c", "files": [ - "dist" + "dist/cjs", + "dist/esm" ] } diff --git a/modules/sdk-coin-zec/tsconfig.esm.json b/modules/sdk-coin-zec/tsconfig.esm.json new file mode 100644 index 0000000000..17f39ab0f3 --- /dev/null +++ b/modules/sdk-coin-zec/tsconfig.esm.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "module": "ES2020", + "target": "ES2020", + "moduleResolution": "bundler", + "lib": ["ES2020", "DOM"], + "declaration": true, + "declarationMap": true, + "skipLibCheck": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "test", "dist"], + "references": [] +} diff --git a/modules/sdk-coin-zec/tsconfig.json b/modules/sdk-coin-zec/tsconfig.json index f2068fb8d7..64b9e93630 100644 --- a/modules/sdk-coin-zec/tsconfig.json +++ b/modules/sdk-coin-zec/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "./dist", + "outDir": "./dist/cjs", "rootDir": "./", "strictPropertyInitialization": false, "esModuleInterop": true,