ladjs / superagent

Ajax for Node.js and browsers (JS HTTP client). Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs.
https://ladjs.github.io/superagent/
MIT License
16.59k stars 1.33k forks source link

TypeError: percentDecode is not a function #1615

Closed Keroosha closed 3 years ago

Keroosha commented 3 years ago

Hi, seems like superagent doesn't like new TypeScript and getting me warnings after build

library still usable but warnings annoy me

Setup

    "@types/superagent": "^4.1.10",
    "typescript": "4.1.3",
    "awesome-typescript-loader": "5.2.1",
    "webpack": "4.44.1",
    "terser-webpack-plugin": "2.3.8",
    "superagent": "6.1.0",
    "ts-import-plugin": "1.6.7"

Webpack output

WARNING in ./node_modules/superagent/lib/client.js
Module Warning (from ./node_modules/source-map-loader/dist/cjs.js):
percentDecode is not a function
TypeError: percentDecode is not a function
    at exports.stringPercentDecode (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/utils.js:10:10)
    at Function.module.exports.fromURLRecord (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:45:14)
    at module.exports (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:18:25)
    at fetchFromDataURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:106:41)
    at fetchFromURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:165:29)
    at Object.loader (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/index.js:48:39)
 @ ./src/api.ts 2:0-38 37:39-54 38:12-27
 @ ./src/stores/RootStore.ts
 @ ./src/app.tsx
 @ ./src/index.tsx

WARNING in ./node_modules/superagent/lib/agent-base.js
Module Warning (from ./node_modules/source-map-loader/dist/cjs.js):
percentDecode is not a function
TypeError: percentDecode is not a function
    at exports.stringPercentDecode (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/utils.js:10:10)
    at Function.module.exports.fromURLRecord (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:45:14)
    at module.exports (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:18:25)
    at fetchFromDataURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:106:41)
    at fetchFromURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:165:29)
    at Object.loader (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/index.js:48:39)
 @ ./node_modules/superagent/lib/client.js 34:12-35
 @ ./src/api.ts
 @ ./src/stores/RootStore.ts
 @ ./src/app.tsx
 @ ./src/index.tsx

WARNING in ./node_modules/superagent/lib/response-base.js
Module Warning (from ./node_modules/source-map-loader/dist/cjs.js):
percentDecode is not a function
TypeError: percentDecode is not a function
    at exports.stringPercentDecode (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/utils.js:10:10)
    at Function.module.exports.fromURLRecord (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:45:14)
    at module.exports (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:18:25)
    at fetchFromDataURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:106:41)
    at fetchFromURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:165:29)
    at Object.loader (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/index.js:48:39)
 @ ./node_modules/superagent/lib/client.js 32:19-45
 @ ./src/api.ts
 @ ./src/stores/RootStore.ts
 @ ./src/app.tsx
 @ ./src/index.tsx

WARNING in ./node_modules/superagent/lib/is-object.js
Module Warning (from ./node_modules/source-map-loader/dist/cjs.js):
percentDecode is not a function
TypeError: percentDecode is not a function
    at exports.stringPercentDecode (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/utils.js:10:10)
    at Function.module.exports.fromURLRecord (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:45:14)
    at module.exports (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:18:25)
    at fetchFromDataURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:106:41)
    at fetchFromURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:165:29)
    at Object.loader (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/index.js:48:39)
 @ ./node_modules/superagent/lib/client.js 30:15-37
 @ ./src/api.ts
 @ ./src/stores/RootStore.ts
 @ ./src/app.tsx
 @ ./src/index.tsx

WARNING in ./node_modules/superagent/lib/utils.js
Module Warning (from ./node_modules/source-map-loader/dist/cjs.js):
percentDecode is not a function
TypeError: percentDecode is not a function
    at exports.stringPercentDecode (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/utils.js:10:10)
    at Function.module.exports.fromURLRecord (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:45:14)
    at module.exports (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:18:25)
    at fetchFromDataURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:106:41)
    at fetchFromURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:165:29)
    at Object.loader (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/index.js:48:39)
 @ ./node_modules/superagent/lib/response-base.js 6:12-30
 @ ./node_modules/superagent/lib/client.js
 @ ./src/api.ts
 @ ./src/stores/RootStore.ts
 @ ./src/app.tsx
 @ ./src/index.tsx

WARNING in ./node_modules/superagent/lib/request-base.js
Module Warning (from ./node_modules/source-map-loader/dist/cjs.js):
percentDecode is not a function
TypeError: percentDecode is not a function
    at exports.stringPercentDecode (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/utils.js:10:10)
    at Function.module.exports.fromURLRecord (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:45:14)
    at module.exports (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/data-urls/lib/parser.js:18:25)
    at fetchFromDataURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:106:41)
    at fetchFromURL (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/utils.js:165:29)
    at Object.loader (/home/keroosha/kitchen/sandbox-app/webapp/node_modules/source-map-loader/dist/index.js:48:39)
 @ ./node_modules/superagent/lib/client.js 28:18-43
 @ ./src/api.ts
 @ ./src/stores/RootStore.ts
 @ ./src/app.tsx
 @ ./src/index.tsx

Workaround

I suppress warnings at webpack.config.js, but this is not a good thing

  stats: {
      warningsFilter: ["./node_modules/superagent/"],
  },
niftylettuce commented 3 years ago

I don't support TypeScript but thank you for posting this