diff --git a/package.json b/package.json index 98e6990..c27cf16 100644 --- a/package.json +++ b/package.json @@ -43,76 +43,124 @@ "exports": { ".": { "types": "./dist/src/index.d.ts", - "import": "./dist/src/index.js" + "import": "./dist/src/index.js", + "require": "./dist/cjs/src/index.js" }, "./alloc": { "types": "./dist/src/alloc.d.ts", - "node": "./dist/src/alloc.node.js", - "import": "./dist/src/alloc.js" + "node": { + "import": "./dist/src/alloc.node.js", + "require": "./dist/cjs/src/alloc.node.js" + }, + "import": "./dist/src/alloc.js", + "require": "./dist/cjs/src/alloc.js" }, "./compare": { "types": "./dist/src/compare.d.ts", - "node": "./dist/src/compare.node.js", - "import": "./dist/src/compare.js" + "node": { + "import": "./dist/src/compare.node.js", + "require": "./dist/cjs/src/compare.node.js" + }, + "import": "./dist/src/compare.js", + "require": "./dist/cjs/src/compare.js" }, "./concat": { "types": "./dist/src/concat.d.ts", - "node": "./dist/src/concat.node.js", - "import": "./dist/src/concat.js" + "node": { + "import": "./dist/src/concat.node.js", + "require": "./dist/cjs/src/concat.node.js" + }, + "import": "./dist/src/concat.js", + "require": "./dist/cjs/src/concat.js" }, "./equals": { "types": "./dist/src/equals.d.ts", - "import": "./dist/src/equals.js" + "import": "./dist/src/equals.js", + "require": "./dist/cjs/src/equals.js" }, "./from-string": { "types": "./dist/src/from-string.d.ts", - "node": "./dist/src/from-string.node.js", - "import": "./dist/src/from-string.js" + "node": { + "import": "./dist/src/from-string.node.js", + "require": "./dist/cjs/src/from-string.node.js" + }, + "import": "./dist/src/from-string.js", + "require": "./dist/cjs/src/from-string.js" }, "./to-string": { "types": "./dist/src/to-string.d.ts", - "node": "./dist/src/to-string.node.js", - "import": "./dist/src/to-string.js" + "node": { + "import": "./dist/src/to-string.node.js", + "require": "./dist/cjs/src/to-string.node.js" + }, + "import": "./dist/src/to-string.js", + "require": "./dist/cjs/src/to-string.js" }, "./xor": { "types": "./dist/src/xor.d.ts", - "import": "./dist/src/xor.js" + "import": "./dist/src/xor.js", + "require": "./dist/cjs/src/xor.js" }, "./xor-compare": { "types": "./dist/src/xor-compare.d.ts", - "import": "./dist/src/xor-compare.js" + "import": "./dist/src/xor-compare.js", + "require": "./dist/cjs/src/xor-compare.js" } }, "imports": { "#util/as-uint8array": { "types": "./dist/src/util/as-uint8array.d.ts", - "node": "./dist/src/util/as-uint8array.node.js", - "import": "./dist/src/util/as-uint8array.js" + "node": { + "import": "./dist/src/util/as-uint8array.node.js", + "require": "./dist/cjs/src/util/as-uint8array.node.js" + }, + "import": "./dist/src/util/as-uint8array.js", + "require": "./dist/cjs/src/util/as-uint8array.js" }, "#alloc": { "types": "./dist/src/alloc.d.ts", - "node": "./dist/src/alloc.node.js", - "import": "./dist/src/alloc.js" + "node": { + "import": "./dist/src/alloc.node.js", + "require": "./dist/cjs/src/alloc.node.js" + }, + "import": "./dist/src/alloc.js", + "require": "./dist/cjs/src/alloc.js" }, "#compare": { "types": "./dist/src/compare.d.ts", - "node": "./dist/src/compare.node.js", - "import": "./dist/src/compare.js" + "node": { + "import": "./dist/src/compare.node.js", + "require": "./dist/cjs/src/compare.node.js" + }, + "import": "./dist/src/compare.js", + "require": "./dist/cjs/src/compare.js" }, "#concat": { "types": "./dist/src/concat.d.ts", - "node": "./dist/src/concat.node.js", - "import": "./dist/src/concat.js" + "node": { + "import": "./dist/src/concat.node.js", + "require": "./dist/cjs/src/concat.node.js" + }, + "import": "./dist/src/concat.js", + "require": "./dist/cjs/src/concat.js" }, "#from-string": { "types": "./dist/src/from-string.d.ts", - "node": "./dist/src/from-string.node.js", - "import": "./dist/src/from-string.js" + "node": { + "import": "./dist/src/from-string.node.js", + "require": "./dist/cjs/src/from-string.node.js" + }, + "import": "./dist/src/from-string.js", + "require": "./dist/cjs/src/from-string.js" }, "#to-string": { "types": "./dist/src/to-string.d.ts", - "node": "./dist/src/to-string.node.js", - "import": "./dist/src/to-string.js" + "node": { + "import": "./dist/src/to-string.node.js", + "require": "./dist/cjs/src/to-string.node.js" + }, + "import": "./dist/src/to-string.js", + "require": "./dist/cjs/src/to-string.js" } }, "eslintConfig": { @@ -217,7 +265,8 @@ "test:firefox-webworker": "aegir test -t webworker -- --browser firefox", "lint": "aegir lint", "release": "aegir release", - "build": "aegir build", + "build": "aegir build && npm run build:cjs", + "build:cjs": "tsc --project tsconfig.cjs.json --verbatimModuleSyntax false && resolve-tspaths -p tsconfig.cjs.json -s src -o dist/cjs/src && echo >./dist/cjs/package.json '{\"type\":\"commonjs\"}'", "dep-check": "aegir dep-check", "docs": "aegir docs" }, @@ -227,7 +276,9 @@ "devDependencies": { "@types/benchmark": "^2.1.1", "aegir": "^42.2.3", - "benchmark": "^2.1.4" + "benchmark": "^2.1.4", + "typescript": "^5.6.3", + "resolve-tspaths": "^0.8.22" }, "react-native": { "#util/as-uint8array": "./dist/src/util/as-uint8array.js", diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json new file mode 100644 index 0000000..d3178ef --- /dev/null +++ b/tsconfig.cjs.json @@ -0,0 +1,16 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "CommonJS", + "outDir": "./dist/cjs", + "baseUrl": ".", + "paths": { + "#util/as-uint8array": ["./src/util/as-uint8array.ts"], + "#alloc": ["./src/alloc.ts"], + "#compare": ["./src/compare.ts"], + "#concat": ["./src/concat.ts"], + "#from-string": ["./src/from-string.ts"], + "#to-string": ["./src/to-string.ts"] + } + } +}