node-formidable / formidable

The most used, flexible, fast and streaming parser for multipart form data. Supports uploading to serverless environments, AWS S3, Azure, GCP or the filesystem. Used in production.
MIT License
7.01k stars 680 forks source link

Handle top level json array #761

Closed GrosSacASac closed 2 years ago

GrosSacASac commented 2 years ago

fixes https://github.com/node-formidable/formidable/issues/760

@Rush have a try

Rush commented 2 years ago

@GrosSacASac gladly but this branch is ESM only so it's no-go :-(

» node index.js
internal/modules/cjs/loader.js:1089
      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
      ^

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /code/formidable-test/node_modules/formidable/src/index.js
require() of ES modules is not supported.
require() of /code/formidable-test/node_modules/formidable/src/index.js from /code/formidable-test/index.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename /code/formidable-test/node_modules/formidable/src/index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /code/formidable-test/node_modules/formidable/package.json.

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1089:13)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12)
    at Module.require (internal/modules/cjs/loader.js:961:19)
    at require (internal/modules/cjs/helpers.js:92:18)
    at Object.<anonymous> (/code/formidable-test/index.js:2:20)
    at Module._compile (internal/modules/cjs/loader.js:1072:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12) {
  code: 'ERR_REQUIRE_ESM'
}

ESM reminds me of Python 2 to Python 3 migration. A never-ending story with no happy ending :-(

GrosSacASac commented 2 years ago

Make it a yes-go :)

Rush commented 2 years ago

Sorry I didn't have time to test with ESM yet.