pawelgrzybek, to programming
@pawelgrzybek@mastodon.social avatar

Node.js 20.13 brought great improvements. My highlights:

► Watch mode is considered stable now
► The util.styleText now accepts an array of modifiers

Of course, I have articles about both of those features! I just updated both of them to reflect new announcements.

“TIL — Node v18.11.0 comes with a watch mode, so you might not need nodemon”
https://pawelgrzybek.com/til-node-v18-11-0-comes-with-a-watch-mode-so-you-might-not-need-nodemon/

“Node.js added utility for text formatting — you may not need chalk anymore”
https://pawelgrzybek.com/node-js-added-utility-for-text-formatting-you-may-not-need-chalk-anymore/

aral, (edited ) to programming
@aral@mastodon.ar.al avatar

This is a niche one but it might help someone in the future:

How to include multiple directories from different places in the file system hierarchy in an archive without including the whole directory structure for any of them.

https://codeberg.org/aral/gists/src/branch/main/how-to-include-multiple-directories-from-different-places-in-the-file-system-hierarchy-in-an-archive-without-including-the-whole-directory-structure-for-any-of-them.md

TL; DR: use symlinks.

#NodeTar #NodeJS #tar #prefixes #directory #hierarchy #flat #archive

4censord,
@4censord@unfug.social avatar

@aral can node tar not create an archive in multiple steps?
with normal tar, i'd just create an archive and add the first files, and then just append the other files to the archive with a tar command with different working directory

Direktory like:

.  
├── file1.txt  
├── file2.txt  
└── folder  
 └── file3.txt  

Commands:
tar cf archive.tar file{1,2}.txt
tar rf archive.tar -C folder file3.txt

Creates an archive like:
$ tar tf archive.tar
file1.txt
file2.txt
file3.txt

aral,
@aral@mastodon.ar.al avatar

@4censord It can but I’m not sure how I’d do that and keep a stream open to the browser (I’m streaming the archive to the HTTP response).

(I don’t want to create intermediary files.)

aral, to javascript
@aral@mastodon.ar.al avatar

Just published a minor update (version 5.1.1) to JavaScript Database (JSDB) that optimises the custom data type¹ serialisation code by removing a redundant return statement:

https://www.npmjs.com/package/@small-tech/jsdb

This change is backwards compatible and shouldn’t require and updates to your projects, including the ones you have in Kitten (which uses JSDB internally).

¹ https://codeberg.org/small-tech/jsdb#custom-data-types
² https://codeberg.org/kitten/app

#JavaScriptDatabase #JavaScript #database #JSDB #Kitten #SmallWeb #NodeJS #web #dev

tanepiper, to programming
@tanepiper@tane.codes avatar

Anyone else seeing more segfaults with #nodejs 22 and #npm

Going to have to go back to LTS as pipeline keep failing now when installing dependencies when using caching.

tanepiper,
@tanepiper@tane.codes avatar

Turns out the answer is DOWNLOAD MORE RAM.

Runners were using 8Gb images, so we bumped it up to 16Gb and all of a sudden no problems and it runs faster

ecmascript_news, to javascript
@ecmascript_news@mastodon.online avatar
joelanman, to programming
@joelanman@hachyderm.io avatar

any opinions on Node.js logging libraries like Winston or Pino? Or do you just write your own logging functions?

#nodeJS

aral, to javascript
@aral@mastodon.ar.al avatar
pb,
@pb@chaos.social avatar

@aral Ooh, I love how you’re displaying the first six digits of the commit hash as the “favourite colour”, that’s such a neat idea!

aral,
@aral@mastodon.ar.al avatar

@pb Thank you :)

:kitten:💕

casraf, to typescript
leanpub, to programming
@leanpub@mastodon.social avatar

P4NR - IoT Programmer https://leanpub.com/b/p4nr-iotprogrammer by Klaus Landsdorf (Iniationware, P4NR), Joel Krec, and Maryam Jalil is the featured bundle on the Leanpub homepage! https://leanpub.com #NodeJS #InternetOfThings #Javascript #Typescript #SoftwareEngineering #CloudComputing

aral, to programming
@aral@mastodon.ar.al avatar

JSDB 5.0.0 published 🎉

• Custom classes must have a constructor that accepts a parameter object as its only argument. Constructors are run during deserialisation.

• Custom classes can now safely extend other classes (e.g., EventEmitter).

• Properties that begin with an underscore (_) are treated as private and ignored.

• Objects with null prototypes are supported. i.e., objects created with Object.create(null, …).

Full details: https://codeberg.org/small-tech/jsdb#migrating-from-earlier-versions-of-jsdf

aral,
@aral@mastodon.ar.al avatar

JSDB 5.0.1 published 🎉

• Fixes : Crash if DataProxy getHandler() called on object with null prototype. (https://codeberg.org/small-tech/jsdb/issues/14)

To install update:

npm install @small/jsdb@5.0.1

Learn more about JSDB:

https://codeberg.org/small-tech/jsdb#javascript-database-jsdb

JSDB

aral,
@aral@mastodon.ar.al avatar

JSDB 5.1.0 published¹ 🎉

• Forgetting to pass a custom class that’s persisted in your database in your JSDB.open() call now throws instead of corrupting your database by falling back to using an untyped object.

• Added JSDF ver. 2 to 3 database migration script (i.e., JSDB version 2-4 to 5)²

To install update:

npm install @small/jsdb@5.1.0

¹ https://codeberg.org/small-tech/jsdb/releases

² https://codeberg.org/small-tech/jsdb#version-2-to-3

#JavaScriptDatabase #JavaScript #database JSDB #JSDB5 #NodeJS #SmallTech #SmallWeb #web #dev

veganstraightedge, to rails
@veganstraightedge@ruby.social avatar

buildpack question

AFAIK, my app doesn't want/need

How do I tell Heroku to not install install the buildpack at all?

(and remediate this WARNING on every deploy)


WARNING:

Installing a default version (20.9.0) of Node.js.
This version is not pinned and can change over time, causing unexpected failures.
Heroku recommends placing the heroku/nodejs buildpack in front of
heroku/ruby to install a specific version of node

jperkin, to programming
@jperkin@federate.me.uk avatar

We're hiring!

https://www.mnxsolutions.com/careers/senior-backend-developer

Come and help us maintain and enhance a fully open-source operating system and cloud stack that has been battle-tested in very large production environments.

There are plenty of interesting problems to solve, all the way from writing device drivers and debugging early boot issues, to writing new UIs in Rust.

I think we're a pretty friendly team to work alongside too ;)

Happy to answer any questions.

#SmartOS #illumos #nodejs #rust #DTrace #pkgsrc

SceNtriC, to javascript Polish
@SceNtriC@101010.pl avatar

Pytanie do obeznanych z technologiami #JavaScript #NodeJS - czy kojarzycie jakiś framework, który w bardzo prosty sposób pozwala tworzyć CRUDy w celu budowania panelu administracyjnego/CMS-a dla istniejącej bazy (frontend i backend)?

#programowanie

aral, to javascript
@aral@mastodon.ar.al avatar

Realised last night that JavaScript Database (JSDB) doesn’t run the constructor on persisted custom objects (https://codeberg.org/small-tech/jsdb#custom-data-types) when deserialising them because I didn’t know that you apparently have to define your constructor manually when using Object.create().

Will fix it today but it’s something to watch out for if you’re using Object.create() directly.

For more info, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create

aral,
@aral@mastodon.ar.al avatar

Just a quick update on this: after some experimentation and further thought, I feel the way JSDB works currently is the right trade-off.

While it could run the constructor of persisted custom objects when loading them back in, that would impose a rigid authoring flow that would sacrifice ease of use for simple use cases. I find the latter more important in this case.

(I’m off to document this ‘feature’ now as it is currently undocumented and that’s not good.) :)

More: https://codeberg.org/small-tech/jsdb/issues/12

aral,
@aral@mastodon.ar.al avatar

I’ve thought a bit more on this and decided:

  1. Persisting custom classes is an advanced feature.

  2. Implementing these changes would mean that custom classes can extend base classes (e.g., EventEmitter, so we can, for example, listen for events on sessions in Kitten)

  3. The con of dictating the constructor signature for custom classes is outweighed by the pros.

So I just implemented this, plus pseudo-private property support, etc., and will be releasing a new major version of JSDB soon.

ecmascript_news, to javascript
@ecmascript_news@mastodon.online avatar

Node.js 22: require() ESM modules, --run package scripts, --watch files, fs.glob() and more
@nodejs
https://nodejs.org/en/blog/announcements/v22-release-announce

#ECMAScript #JavaScript #NodeJS

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • thenastyranch
  • magazineikmin
  • ethstaker
  • GTA5RPClips
  • InstantRegret
  • rosin
  • love
  • Youngstown
  • slotface
  • khanakhh
  • kavyap
  • everett
  • DreamBathrooms
  • megavids
  • osvaldo12
  • tester
  • cisconetworking
  • tacticalgear
  • ngwrru68w68
  • Durango
  • cubers
  • mdbf
  • normalnudes
  • anitta
  • modclub
  • Leos
  • JUstTest
  • All magazines