Skip to content

Commit 0aac96f

Browse files
authored
Merge pull request #40 from bitcoinjs/fix/cjs
Fix CJS for bip174
2 parents 9c876f1 + 569aa9f commit 0aac96f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+133
-508
lines changed

.github/workflows/main_ci.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,16 @@ jobs:
4747
registry-url: https://registry.npmjs.org/
4848
- run: npm ci
4949
- run: npm run format:ci
50+
check-hybrid:
51+
runs-on: ubuntu-latest
52+
steps:
53+
- uses: actions/checkout@v3
54+
- uses: actions/setup-node@v4
55+
with:
56+
node-version: 18
57+
registry-url: https://registry.npmjs.org/
58+
- run: npm ci
59+
- run: npm run checkHybrid
5060
gitdiff:
5161
runs-on: ubuntu-latest
5262
steps:

fixup.cjs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const fs = require('fs');
2+
const path = require('path');
3+
4+
const updateRequires = (filePath) => {
5+
let content = fs.readFileSync(filePath, 'utf8');
6+
//replace local imports eg. require("./ecpair.js") to require("ecpair.cjs")
7+
content = content.replace(/require\('\.([^']*)\.js'\)/g, "require('.$1.cjs')");
8+
9+
fs.writeFileSync(filePath, content, 'utf8');
10+
};
11+
12+
const processFiles = (dir) => {
13+
fs.readdirSync(dir).forEach((file) => {
14+
const filePath = path.join(dir, file);
15+
if (fs.lstatSync(filePath).isDirectory()) {
16+
processFiles(filePath);
17+
} else if (filePath.endsWith('.cjs')) {
18+
updateRequires(filePath);
19+
}
20+
});
21+
};
22+
23+
const dir = path.join(__dirname, 'src', 'cjs');
24+
processFiles(dir);

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
{
22
"name": "bip174",
3-
"version": "3.0.0-rc.0",
3+
"version": "3.0.0-rc.1",
44
"description": "",
5-
"main": "src/cjs/lib/psbt.js",
5+
"main": "src/cjs/lib/psbt.cjs",
66
"module": "src/esm/lib/psbt.js",
7-
"types": "src/cjs/lib/psbt.d.ts",
7+
"types": "src/esm/lib/psbt.d.ts",
88
"exports": {
99
".": {
10-
"types": "./src/cjs/lib/psbt.d.ts",
10+
"types": "./src/esm/lib/psbt.d.ts",
1111
"import": "./src/esm/lib/psbt.js",
12-
"require": "./src/cjs/lib/psbt.js"
12+
"require": "./src/cjs/lib/psbt.cjs"
1313
}
1414
},
1515
"type": "module",
@@ -22,6 +22,7 @@
2222
},
2323
"scripts": {
2424
"build": "npm run clean && tsc -p ./tsconfig.json && tsc -p ./tsconfig.cjs.json && npm run formatjs",
25+
"checkHybrid": "chmod +x test.cjs && node test.cjs",
2526
"clean": "rimraf src types",
2627
"coverage": "c8 --check-coverage --include='src/esm/lib/**/*.js' --reporter=lcov --reporter=text --branches 90 --functions 90 --lines 90 npm run unit",
2728
"flb": "npm run format && npm run lint && npm run build",
@@ -30,6 +31,7 @@
3031
"format:ci": "npm run prettier -- --check && npm run prettierjs -- --check",
3132
"gitdiff:ci": "npm run build && git diff --exit-code",
3233
"lint": "tslint -p tsconfig.json -c tslint.json",
34+
"postbuild": "find src/cjs -type f -name \"*.js\" -exec bash -c 'mv \"$0\" \"${0%.js}.cjs\"' {} \\; && chmod +x fixup.cjs && node fixup.cjs",
3335
"prettier": "prettier 'ts_src/**/*.ts' --ignore-path ./.prettierignore",
3436
"prettierjs": "prettier 'src/**/*.js' --ignore-path ./.prettierignore",
3537
"test": "npm run format:ci && npm run lint && npm run build && npm run coverage",

src/cjs/lib/combiner/index.js renamed to src/cjs/lib/combiner/index.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ var __importStar =
1111
return result;
1212
};
1313
Object.defineProperty(exports, '__esModule', { value: true });
14-
const index_js_1 = require('../parser/index.js');
14+
const index_js_1 = require('../parser/index.cjs');
1515
const tools = __importStar(require('uint8array-tools'));
1616
function combine(psbts) {
1717
const self = psbts[0];

src/cjs/lib/combiner/index.d.ts

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/cjs/lib/converter/global/globalXpub.js renamed to src/cjs/lib/converter/global/globalXpub.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ var __importStar =
1111
return result;
1212
};
1313
Object.defineProperty(exports, '__esModule', { value: true });
14-
const typeFields_js_1 = require('../../typeFields.js');
14+
const typeFields_js_1 = require('../../typeFields.cjs');
1515
const tools = __importStar(require('uint8array-tools'));
1616
const range = n => [...Array(n).keys()];
1717
function decode(keyVal) {

src/cjs/lib/converter/global/globalXpub.d.ts

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/cjs/lib/converter/global/unsignedTx.js renamed to src/cjs/lib/converter/global/unsignedTx.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22
Object.defineProperty(exports, '__esModule', { value: true });
3-
const typeFields_js_1 = require('../../typeFields.js');
3+
const typeFields_js_1 = require('../../typeFields.cjs');
44
function encode(data) {
55
return {
66
key: new Uint8Array([typeFields_js_1.GlobalTypes.UNSIGNED_TX]),

src/cjs/lib/converter/global/unsignedTx.d.ts

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)