Skip to content

Commit 51636d9

Browse files
authored
Merge pull request #75 from dopecodez/fix-require-issue
fix require issue by adding custom code to rollout config
2 parents ae4bb05 + 4939d86 commit 51636d9

2 files changed

Lines changed: 29 additions & 4 deletions

File tree

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
"name": "wikipedia",
33
"version": "2.4.0",
44
"description": "A JavaScript wrapper for the wikipedia apis",
5-
"main": "dist/index.js",
5+
"main": "./dist/index.js",
66
"engines": {
7-
"node": ">=10"
7+
"node": ">=16"
88
},
99
"exports": {
1010
"import": "./dist/index.js",
1111
"require": "./dist/index.cjs"
1212
},
1313
"scripts": {
14-
"prepublishOnly": "tsc --build --clean && tsc && npx rollup ./dist/index.js --file ./dist/index.cjs --format cjs",
14+
"prepublishOnly": "tsc --build --clean && tsc && npx rollup -c rollup.config.js --bundleConfigAsCjs",
1515
"test": "jest --coverage",
16-
"build": "yarn lint && tsc --build --clean && tsc && npx rollup ./dist/index.js --file ./dist/index.cjs --format cjs",
16+
"build": "yarn lint && tsc --build --clean && tsc && npx rollup -c rollup.config.js --bundleConfigAsCjs",
1717
"prepare": "yarn build",
1818
"lint": "eslint source/*.ts",
1919
"release": "np"

rollup.config.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
module.exports = {
2+
input: './dist/index.js',
3+
output: {
4+
file: './dist/index.cjs',
5+
format: 'cjs',
6+
exports: 'auto',
7+
outro: `
8+
// CommonJS compatibility: make require('wikipedia') return the function directly
9+
// while preserving named exports as properties
10+
const errors = require("./errors");
11+
const resultTypes = require("./resultTypes");
12+
const optionTypes = require("./optionTypes");
13+
const page = require("./page");
14+
15+
// Make wiki function the main export
16+
module.exports = module.exports.default;
17+
18+
// Add all named exports as properties of the wiki function
19+
Object.assign(module.exports, errors, resultTypes, optionTypes, page);
20+
21+
// Keep .default for ES module compatibility
22+
module.exports.default = module.exports;
23+
`.trim()
24+
}
25+
};

0 commit comments

Comments
 (0)