Node.js

github.com

When I submit the form twice, three times, etc. I get duplicated form field data. Here is the console output of the form data after every submissions. Also all the field values are always an array, even if the input field for that value is a text input field? Not sure if this is another issue or not. Here is my code. Only one JS file and one HTML file... ``` import fs from 'fs'; import http from 'http'; import { formidable as formidablePackage } from 'formidable'; const port = 8080; //Will create horizontal line that will fit the width of the terminal window const horizontalLine = '='.repeat(process.stdout.columns); const formidable = formidablePackage({ allowEmptyFiles: true, minFileSize: 0, }); http .createServer(async (request, response) => { if (request.method === 'POST') { let [formFieldData, formFileData] = await formidable.parse(request); console.log(formFieldData); } response.setHeader('Content-Type', 'text/html'); fs.createReadStream('form.html').pipe(response); }) .listen(port); ``` ``` <form method="post" enctype="multipart/form-data"> <input name="myText" /> <br /> <input type="checkbox" name="myCheckboxGroupA" /> <input type="checkbox" name="myCheckboxGroupA" /> <input type="checkbox" name="myCheckboxGroupA" /> <br /> <input type="file" name="myFileA" /> <br /> <input type="file" name="myFileB" multiple /> <br /> <input type="file" name="myFileC" multiple directory webkitdirectory /> <br /> <input type="submit" /> </form> ``` These are the console logs ``` $ node form.js { myText: [ 'hello world' ], myCheckboxGroupA: [ 'on' ] } { myText: [ 'hello world', 'hello world' ], myCheckboxGroupA: [ 'on', 'on' ] } { myText: [ 'hello world', 'hello world', 'hello world' ], myCheckboxGroupA: [ 'on', 'on', 'on' ] } { myText: [ 'hello world', 'hello world', 'hello world', 'hello world' ], myCheckboxGroupA: [ 'on', 'on', 'on', 'on' ] } ``` These are the console logs I expected ``` $ node form.js { myText: 'hello world' , myCheckboxGroupA: [ 'on' ] } { myText: 'hello world' , myCheckboxGroupA: [ 'on' ] } { myText: 'hello world' , myCheckboxGroupA: [ 'on' ] } { myText: 'hello world' , myCheckboxGroupA: [ 'on' ] } ```

3
0
nodejs.org

The Node.js project will release new versions of the 18.x, 20.x, 21.x releases lines on or shortly after, Tuesday, April 9, 2024 in order to address: - 1 high severity issues. - 1 medium severity issues.

5
0
nodejs.org

Linked in the post is 21.7.2 - [20.12.1](https://nodejs.org/en/blog/release/v20.12.1) - [18.20.1](https://nodejs.org/en/blog/release/v18.20.1)

6
0
nodejs.org

The Node.js project will release new versions of the 18.x, 20.x, 21.x releases lines on or shortly after, Wednesday, April 3, 2024 in order to address: - 1 medium severity issue. - 1 high severity issue.

8
0
www.sonarsource.com

cross-posted from: https://programming.dev/post/11927506 > Many times when I’ve tried to write some code in Node.js using ES modules I’ve found myself reaching for __dirname and then looking up how to replace it. Now Node.js, Deno and Bun support import.meta.dirname. Check out the article for more detail.

3
0
expressjs.com

Here's a reminder that the good people behind Express.js are currently working on [Express 5](https://github.com/expressjs/express/blob/5.0/History.md), currently in beta.

3
0
nodejs.org

v20.11.1 - https://nodejs.org/en/blog/release/v20.11.1 v18.19.1 - https://nodejs.org/en/blog/release/v18.19.1

2
0

Hi y'all, sorry if these are really basic questions, but I'm just starting out learning node. I've been developing software for a long time, and web sites / apps for a couple of years, but nothing too advanced yet, mostly in vanilla HTML/JS and a little PHP. I swear I am trying to keep an open mind on all of this but some of these ideas are really new / different for me. 1. Is Express really just for API development, or can I use it to create a basic web app as well? (I've read others saying this but I find this idea confusing -- e.g.: https://alternativeto.net/software/expressjs/ "Express is for building REST APIs (backend). Meteor is for building the full stack webapp") 2. Do you get used to the idea of incorporating other people's code into your node projects? (Because as an older developer, all this "just add this framework which has 122 dependencies of its own" seems like mania. How could you ever say a project built on hundreds of other projects [which all have their own dependencies too] could ever be said to be safe or secure? And won't changes in those projects break my project eventually?) 3. Is there no way to process a POSTed form with just the built-in Node functions when the form enctype is "multipart" -- without adding in Express or some other framework? (I've searched and searched and all the examples I found for doing this without Express assume the form's enctype is "x-www-form-urlencoded" but my form will be used to upload a file.) Thanks for any advice / info!

3
2