home.social

#jsdb — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #jsdb, aggregated by home.social.

  1. 🥳 New JavaScript Database (JSDB) release

    • Fix: Now properly handling array indices on `JSTable.PERSIST` events in the `keypath` property that’s passed to the event handler.

    Just noticed that the pretty keypaths of the JavaScript deltas written to the append-only log were ignoring array indices while playing with a new database introspection call I’m adding to the Kitten Interactive Shell (REPL) and fixed it.

    I’ll be updating Kitten shortly to use this version of JSDB and I haven’t forgotten my promise to record a little video of the new Kitten Introspection API.

    Enjoy!

    💕

    codeberg.org/small-tech/jsdb#r

    #JavaScriptDatabase #javascript #database #JSDB #SmallTech #SmallWeb #NodeJS

  2. 🥳 New JavaScript Database (JSDB) release

    • Fix: Now properly handling array indices on `JSTable.PERSIST` events in the `keypath` property that’s passed to the event handler.

    Just noticed that the pretty keypaths of the JavaScript deltas written to the append-only log were ignoring array indices while playing with a new database introspection call I’m adding to the Kitten Interactive Shell (REPL) and fixed it.

    I’ll be updating Kitten shortly to use this version of JSDB and I haven’t forgotten my promise to record a little video of the new Kitten Introspection API.

    Enjoy!

    💕

    codeberg.org/small-tech/jsdb#r

    #JavaScriptDatabase #javascript #database #JSDB #SmallTech #SmallWeb #NodeJS

  3. 🥳 New JavaScript Database (JSDB) release

    • Fix: Now properly handling array indices on `JSTable.PERSIST` events in the `keypath` property that’s passed to the event handler.

    Just noticed that the pretty keypaths of the JavaScript deltas written to the append-only log were ignoring array indices while playing with a new database introspection call I’m adding to the Kitten Interactive Shell (REPL) and fixed it.

    I’ll be updating Kitten shortly to use this version of JSDB and I haven’t forgotten my promise to record a little video of the new Kitten Introspection API.

    Enjoy!

    💕

    codeberg.org/small-tech/jsdb#r

    #JavaScriptDatabase #javascript #database #JSDB #SmallTech #SmallWeb #NodeJS

  4. 🥳 New JavaScript Database (JSDB) release

    • Fix: Now properly handling array indices on `JSTable.PERSIST` events in the `keypath` property that’s passed to the event handler.

    Just noticed that the pretty keypaths of the JavaScript deltas written to the append-only log were ignoring array indices while playing with a new database introspection call I’m adding to the Kitten Interactive Shell (REPL) and fixed it.

    I’ll be updating Kitten shortly to use this version of JSDB and I haven’t forgotten my promise to record a little video of the new Kitten Introspection API.

    Enjoy!

    💕

    codeberg.org/small-tech/jsdb#r

    #JavaScriptDatabase #javascript #database #JSDB #SmallTech #SmallWeb #NodeJS

  5. 🥳 New JavaScript Database (JSDB) release

    • Fix: Now properly handling array indices on `JSTable.PERSIST` events in the `keypath` property that’s passed to the event handler.

    Just noticed that the pretty keypaths of the JavaScript deltas written to the append-only log were ignoring array indices while playing with a new database introspection call I’m adding to the Kitten Interactive Shell (REPL) and fixed it.

    I’ll be updating Kitten shortly to use this version of JSDB and I haven’t forgotten my promise to record a little video of the new Kitten Introspection API.

    Enjoy!

    💕

    codeberg.org/small-tech/jsdb#r

    #JavaScriptDatabase #javascript #database #JSDB #SmallTech #SmallWeb #NodeJS

  6. Just made a little correction to the JavaScript Database (JSDB) Table Events section:

    Previously, the example that listens for the JSTable.PERSIST event was erroneously stating that the table was deleted when the `type` property in the event handlers parameter object was JSTable.DELETE. It now correctly states that the value at `keypath` was deleted.

    I also documented the JSTable.PERSIST types so they wouldn’t be confused with the JSTable event types (persist and delete; the latter of which does actually signal that the table – i.e., the append-only JavaScript log – was deleted.

    codeberg.org/small-tech/jsdb#t

    #SmallWeb #SmallTech #JavaScript #database #JSDB #documentation #events #fix

  7. Just made a little correction to the JavaScript Database (JSDB) Table Events section:

    Previously, the example that listens for the JSTable.PERSIST event was erroneously stating that the table was deleted when the `type` property in the event handlers parameter object was JSTable.DELETE. It now correctly states that the value at `keypath` was deleted.

    I also documented the JSTable.PERSIST types so they wouldn’t be confused with the JSTable event types (persist and delete; the latter of which does actually signal that the table – i.e., the append-only JavaScript log – was deleted.

    codeberg.org/small-tech/jsdb#t

    #SmallWeb #SmallTech #JavaScript #database #JSDB #documentation #events #fix

  8. Just made a little correction to the JavaScript Database (JSDB) Table Events section:

    Previously, the example that listens for the JSTable.PERSIST event was erroneously stating that the table was deleted when the `type` property in the event handlers parameter object was JSTable.DELETE. It now correctly states that the value at `keypath` was deleted.

    I also documented the JSTable.PERSIST types so they wouldn’t be confused with the JSTable event types (persist and delete; the latter of which does actually signal that the table – i.e., the append-only JavaScript log – was deleted.

    codeberg.org/small-tech/jsdb#t

    #SmallWeb #SmallTech #JavaScript #database #JSDB #documentation #events #fix

  9. Just made a little correction to the JavaScript Database (JSDB) Table Events section:

    Previously, the example that listens for the JSTable.PERSIST event was erroneously stating that the table was deleted when the `type` property in the event handlers parameter object was JSTable.DELETE. It now correctly states that the value at `keypath` was deleted.

    I also documented the JSTable.PERSIST types so they wouldn’t be confused with the JSTable event types (persist and delete; the latter of which does actually signal that the table – i.e., the append-only JavaScript log – was deleted.

    codeberg.org/small-tech/jsdb#t

    #SmallWeb #SmallTech #JavaScript #database #JSDB #documentation #events #fix

  10. Just made a little correction to the JavaScript Database (JSDB) Table Events section:

    Previously, the example that listens for the JSTable.PERSIST event was erroneously stating that the table was deleted when the `type` property in the event handlers parameter object was JSTable.DELETE. It now correctly states that the value at `keypath` was deleted.

    I also documented the JSTable.PERSIST types so they wouldn’t be confused with the JSTable event types (persist and delete; the latter of which does actually signal that the table – i.e., the append-only JavaScript log – was deleted.

    codeberg.org/small-tech/jsdb#t

    #SmallWeb #SmallTech #JavaScript #database #JSDB #documentation #events #fix

  11. 🥳 New Kitten release

    Just released a new version of Kitten that now includes JSDB 7.0.0 with its improved JSTable.PERSIST event.

    kitten.small-web.org

    Note that this is a breaking change. If you’re listening for the old 'persist' event, please update your code.

    For more information, please see the changelog: codeberg.org/kitten/app/src/br

    Enjoy!

    :kitten: 💕

    #SmallWeb #SmallTech #Kitten #KittenReleases #web #dev #JavaScriptDatabase #JSDB #NodeJS

  12. 🥳 New Kitten release

    Just released a new version of Kitten that now includes JSDB 7.0.0 with its improved JSTable.PERSIST event.

    kitten.small-web.org

    Note that this is a breaking change. If you’re listening for the old 'persist' event, please update your code.

    For more information, please see the changelog: codeberg.org/kitten/app/src/br

    Enjoy!

    :kitten: 💕

    #SmallWeb #SmallTech #Kitten #KittenReleases #web #dev #JavaScriptDatabase #JSDB #NodeJS

  13. 🥳 New Kitten release

    Just released a new version of Kitten that now includes JSDB 7.0.0 with its improved JSTable.PERSIST event.

    kitten.small-web.org

    Note that this is a breaking change. If you’re listening for the old 'persist' event, please update your code.

    For more information, please see the changelog: codeberg.org/kitten/app/src/br

    Enjoy!

    :kitten: 💕

    #SmallWeb #SmallTech #Kitten #KittenReleases #web #dev #JavaScriptDatabase #JSDB #NodeJS

  14. 🥳 New Kitten release

    Just released a new version of Kitten that now includes JSDB 7.0.0 with its improved JSTable.PERSIST event.

    kitten.small-web.org

    Note that this is a breaking change. If you’re listening for the old 'persist' event, please update your code.

    For more information, please see the changelog: codeberg.org/kitten/app/src/br

    Enjoy!

    :kitten: 💕

    #SmallWeb #SmallTech #Kitten #KittenReleases #web #dev #JavaScriptDatabase #JSDB #NodeJS

  15. 🥳 New Kitten release

    Just released a new version of Kitten that now includes JSDB 7.0.0 with its improved JSTable.PERSIST event.

    kitten.small-web.org

    Note that this is a breaking change. If you’re listening for the old 'persist' event, please update your code.

    For more information, please see the changelog: codeberg.org/kitten/app/src/br

    Enjoy!

    :kitten: 💕

    #SmallWeb #SmallTech #Kitten #KittenReleases #web #dev #JavaScriptDatabase #JSDB #NodeJS

  16. Just updated the Database App Modules tutorial in the Kitten documentation to fix a few bugs, update to latest Kitten syntax, and improve the instructions:

    kitten.small-web.org/tutorials

    (Database app modules are special app modules¹ that let you create strongly-typed JavaScript databases² in your Small Web³ apps.)

    Enjoy!

    :kitten:💕

    ¹ kitten.small-web.org/reference
    ² codeberg.org/small-tech/jsdb#r
    ³ ar.al/2024/06/24/small-web-com

    #Kitten #DatabaseAppModules #AppModules #tutorial #SmallWeb #SmallTech #web #dev #JSDB #JavaScriptDatabase #JavaScript #database #web #dev #NodeJS #strongTyping

  17. 🔒 New Kitten & JSDB Releases

    Security fix, JSDB 6.0.1.

    This is a critical update.

    • JSDB¹ versions 6.0.0 and below suffer from potential data corruption/arbitrary code execution as string keys were not being sanitised in the same way string values were² (so this is relevant to you if you’re storing untrusted data as keys in your data structures in JSDB and/or Kitten databases without carrying out any of your own sanitisation at the application level).

    • The latest Kitten release uses JSDB version 6.0.1. Your deployment servers will automatically update in the next few hours. On your development machines, please run `kitten update` in your terminal or use the Update feature in Kitten Settings from your browser.

    • If you are using Kitten’s Database App Modules³ feature in your apps, you will have installed JSDB manually and you should update your installation to version 6.0.1.

    ¹ codeberg.org/small-tech/jsdb/
    ² codeberg.org/small-tech/jsdb/i
    ³ kitten.small-web.org/reference

    #Kitten #SmallWeb #JSDB #JavaScriptDatabase #KittenRelease #JSDBRelease #securityUpdate #criticalUpdate

  18. Realised last night that JavaScript Database (JSDB) doesn’t run the constructor on persisted custom objects (codeberg.org/small-tech/jsdb#c) 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 developer.mozilla.org/en-US/do

    #JSDB #customObjects #constructor #bug #JavaScript #NodeJS #SmallTech #SmallWeb

  19. 🥳 JavaScript Database (JSDB)¹ version 7.0.0 released

    - *Breaking change* JSTable.PERSIST event now uses a parameter object with properties for `type`, `keypath`, `value`, `change`, and `table`. This should make listening for events on your databases much nicer to author. e.g., a snippet from Catalyst² I’m working on:

    ```js
    const settingsTable = db.settings['__table__']
    const JSTable = settingsTable.constructor

    settingsTable.addListener(JSTable.PERSIST, ({ keypath, value }) => {
    switch (keypath) {
    case 'servers.serverPoolSize':
    console.info('New server pool size requested', value)
    this.updateServerPool()
    break
    // etc.
    }
    })
    ```

    This new version of JSDB is not in the latest Kitten³ yet as it is a breaking change and I want to make sure I update my sites/apps first if needed. I should have it integrated tomorrow.

    To see the simple use case for JSDB in Kitten (the default untyped database that’s easy to get started with and perfect for quick experiments, little sites, etc.), see: kitten.small-web.org/tutorials

    For a more advanced tutorial for creating your own typed databases in Kitten, see the Database App Modules tutorial: kitten.small-web.org/tutorials

    For another example, see: codeberg.org/small-tech/jsdb/#

    Full change log: codeberg.org/small-tech/jsdb/s

    Enjoy!

    💕

    ¹ codeberg.org/small-tech/jsdb#r
    ² catalyst.small-web.org
    ³ kitten.small-web.org

    #JavaScriptDatabase #JavaScript #appendOnlyLog #JS #JSDB #JSDBUpdates #SmallTech #SmallWeb #Kitten #Catalyst

  20. While working on porting the Small Technology Foundation web site¹ to Kitten², I took the opportunity to pull out base Model and Collection classes that I’ll likely end up including in Kitten proper:

    • Model: codeberg.org/small-tech/site/s
    • Collection: codeberg.org/small-tech/site/s

    To see them in use, here’s the base Posts class (with RSS generation) that extends Collection:
    codeberg.org/small-tech/site/s

    And here’s the concrete EventPosts collection class that extends Posts:
    codeberg.org/small-tech/site/s

    And the EventPost (showing an implementation of a calculated property):
    codeberg.org/small-tech/site/s

    So all this is possible (persisting and reading back typed model collections, etc.) thanks to JSDB¹ (JavaScript database), a zero-dependency, transparent, in-memory, streaming write-on-update JavaScript database I wrote for the Small Web that persists to a JavaScript transaction log and is included as as first-class citizen in Kitten.

    codeberg.org/small-tech/jsdb

    And if you want to know how the magic mapping of classes happens, see the Database App Module:

    codeberg.org/small-tech/site/s

    PS. For a much gentler introduction to persistence in Kitten, see the Kitten Persistence tutorial:
    kitten.small-web.org/tutorials

    Enjoy! :kitten:💕

    ¹ small-tech.org
    ² kitten.small-web.org

    #Kitten #SmallWeb #SmallTech #JavaScript #database #JSDB #typeSafety #JSDoc #closureCompiler #TypeScript #workInProgress

  21. Assign properties in a constructor’s parameter object (with defaults) to object being instantiated in JavaScript

    codeberg.org/aral/gists/src/br

    This is a little something I ended up playing around with this morning before figuring out how to do it (after spending far too much time down a rabbit hole with object destructuring when what I really needed was creative use of the spread operator).

    (Useful for custom objects in JSDB 5 – codeberg.org/small-tech/jsdb#c)

    #JavaScript #parameterObject #defaults #JSDB

  22. Philosophically, JSDB – which writes out to native JavaScript logs – is very much the JavaScript version of SWX, the native data format for Flash that I released around 2007 (where data was written out in native SWF format). I have to say that I’m glad I didn’t have to reverse engineer SWF bytecode this time around :)

    Here’s a video of a younger me doing an impromptu demo of SWX at some conference or other from 16 years ago.

    m.youtube.com/watch?v=OM9qOADs

    #JSDB #SWX #JavaScript #Flash #flashback

  23. Heads up anyone playing with Kitten at the moment (yes, both of you):

    I’m in the process of upgrading Kitten’s version of JSDB from 4 to 5.

    *This is a breaking change.*

    This will affect you if you’re persisting custom objects (instances of your custom model classes) in your databases.

    Please see the details in this JSDB announcement post and the linked-to details page to prepare:

    mastodon.ar.al/@aral/112361559

    (I should have the update out this afternoon.)

    #Kitten #JSDB #BreakingChange #SmallWeb

  24. So it’s very much still an early work-in-progress but I’ve renamed WhatDB to JavaScript Database (JSDB) as it now streams and writes to an append-only transaction log in pure JavaScript:

    github.com/small-tech/jsdb

    (This is what I mentioned I wanted to try last week in my post “What if data was code?” ar.al/2020/09/23/what-if-data-)

    #JSDB #JSDF #JDQL #SiteJS #SmallWeb #SmallTech

  25. 🥳 JavaScript Database (JSDB)¹ version 7.0.0 released

    - *Breaking change* JSTable.PERSIST event now uses a parameter object with properties for `type`, `keypath`, `value`, `change`, and `table`. This should make listening for events on your databases much nicer to author. e.g., a snippet from Catalyst² I’m working on:

    ```js
    const settingsTable = db.settings['__table__']
    const JSTable = settingsTable.constructor

    settingsTable.addListener(JSTable.PERSIST, ({ keypath, value }) => {
    switch (keypath) {
    case 'servers.serverPoolSize':
    console.info('New server pool size requested', value)
    this.updateServerPool()
    break
    // etc.
    }
    })
    ```

    This new version of JSDB is not in the latest Kitten³ yet as it is a breaking change and I want to make sure I update my sites/apps first if needed. I should have it integrated tomorrow.

    To see the simple use case for JSDB in Kitten (the default untyped database that’s easy to get started with and perfect for quick experiments, little sites, etc.), see: kitten.small-web.org/tutorials

    For a more advanced tutorial for creating your own typed databases in Kitten, see the Database App Modules tutorial: kitten.small-web.org/tutorials

    For another example, see: codeberg.org/small-tech/jsdb/#

    Full change log: codeberg.org/small-tech/jsdb/s

    Enjoy!

    💕

    ¹ codeberg.org/small-tech/jsdb#r
    ² catalyst.small-web.org
    ³ kitten.small-web.org

    #JavaScriptDatabase #JavaScript #appendOnlyLog #JS #JSDB #JSDBUpdates #SmallTech #SmallWeb #Kitten #Catalyst

  26. 🥳 JavaScript Database (JSDB)¹ version 7.0.0 released

    - *Breaking change* JSTable.PERSIST event now uses a parameter object with properties for `type`, `keypath`, `value`, `change`, and `table`. This should make listening for events on your databases much nicer to author. e.g., a snippet from Catalyst² I’m working on:

    ```js
    const settingsTable = db.settings['__table__']
    const JSTable = settingsTable.constructor

    settingsTable.addListener(JSTable.PERSIST, ({ keypath, value }) => {
    switch (keypath) {
    case 'servers.serverPoolSize':
    console.info('New server pool size requested', value)
    this.updateServerPool()
    break
    // etc.
    }
    })
    ```

    This new version of JSDB is not in the latest Kitten³ yet as it is a breaking change and I want to make sure I update my sites/apps first if needed. I should have it integrated tomorrow.

    To see the simple use case for JSDB in Kitten (the default untyped database that’s easy to get started with and perfect for quick experiments, little sites, etc.), see: kitten.small-web.org/tutorials

    For a more advanced tutorial for creating your own typed databases in Kitten, see the Database App Modules tutorial: kitten.small-web.org/tutorials

    For another example, see: codeberg.org/small-tech/jsdb/#

    Full change log: codeberg.org/small-tech/jsdb/s

    Enjoy!

    💕

    ¹ codeberg.org/small-tech/jsdb#r
    ² catalyst.small-web.org
    ³ kitten.small-web.org

    #JavaScriptDatabase #JavaScript #appendOnlyLog #JS #JSDB #JSDBUpdates #SmallTech #SmallWeb #Kitten #Catalyst

  27. 🥳 JavaScript Database (JSDB)¹ version 7.0.0 released

    - *Breaking change* JSTable.PERSIST event now uses a parameter object with properties for `type`, `keypath`, `value`, `change`, and `table`. This should make listening for events on your databases much nicer to author. e.g., a snippet from Catalyst² I’m working on:

    ```js
    const settingsTable = db.settings['__table__']
    const JSTable = settingsTable.constructor

    settingsTable.addListener(JSTable.PERSIST, ({ keypath, value }) => {
    switch (keypath) {
    case 'servers.serverPoolSize':
    console.info('New server pool size requested', value)
    this.updateServerPool()
    break
    // etc.
    }
    })
    ```

    This new version of JSDB is not in the latest Kitten³ yet as it is a breaking change and I want to make sure I update my sites/apps first if needed. I should have it integrated tomorrow.

    To see the simple use case for JSDB in Kitten (the default untyped database that’s easy to get started with and perfect for quick experiments, little sites, etc.), see: kitten.small-web.org/tutorials

    For a more advanced tutorial for creating your own typed databases in Kitten, see the Database App Modules tutorial: kitten.small-web.org/tutorials

    For another example, see: codeberg.org/small-tech/jsdb/#

    Full change log: codeberg.org/small-tech/jsdb/s

    Enjoy!

    💕

    ¹ codeberg.org/small-tech/jsdb#r
    ² catalyst.small-web.org
    ³ kitten.small-web.org

    #JavaScriptDatabase #JavaScript #appendOnlyLog #JS #JSDB #JSDBUpdates #SmallTech #SmallWeb #Kitten #Catalyst

  28. 🥳 JavaScript Database (JSDB)¹ version 7.0.0 released

    - *Breaking change* JSTable.PERSIST event now uses a parameter object with properties for `type`, `keypath`, `value`, `change`, and `table`. This should make listening for events on your databases much nicer to author. e.g., a snippet from Catalyst² I’m working on:

    ```js
    const settingsTable = db.settings['__table__']
    const JSTable = settingsTable.constructor

    settingsTable.addListener(JSTable.PERSIST, ({ keypath, value }) => {
    switch (keypath) {
    case 'servers.serverPoolSize':
    console.info('New server pool size requested', value)
    this.updateServerPool()
    break
    // etc.
    }
    })
    ```

    This new version of JSDB is not in the latest Kitten³ yet as it is a breaking change and I want to make sure I update my sites/apps first if needed. I should have it integrated tomorrow.

    To see the simple use case for JSDB in Kitten (the default untyped database that’s easy to get started with and perfect for quick experiments, little sites, etc.), see: kitten.small-web.org/tutorials

    For a more advanced tutorial for creating your own typed databases in Kitten, see the Database App Modules tutorial: kitten.small-web.org/tutorials

    For another example, see: codeberg.org/small-tech/jsdb/#

    Full change log: codeberg.org/small-tech/jsdb/s

    Enjoy!

    💕

    ¹ codeberg.org/small-tech/jsdb#r
    ² catalyst.small-web.org
    ³ kitten.small-web.org

    #JavaScriptDatabase #JavaScript #appendOnlyLog #JS #JSDB #JSDBUpdates #SmallTech #SmallWeb #Kitten #Catalyst

  29. The built-in database backup and restore feature in Kitten¹ (that actually works and is in the Kitten Settings section of every Kitten app) just saved my ass (again) :)

    Thank you, past me ;)

    ¹ kitten.small-web.org

    #Kitten #JSDB #backups #SmallWeb #SmallTech

  30. The built-in database backup and restore feature in Kitten¹ (that actually works and is in the Kitten Settings section of every Kitten app) just saved my ass (again) :)

    Thank you, past me ;)

    ¹ kitten.small-web.org

    #Kitten #JSDB #backups #SmallWeb #SmallTech

  31. The built-in database backup and restore feature in Kitten¹ (that actually works and is in the Kitten Settings section of every Kitten app) just saved my ass (again) :)

    Thank you, past me ;)

    ¹ kitten.small-web.org

    #Kitten #JSDB #backups #SmallWeb #SmallTech

  32. The built-in database backup and restore feature in Kitten¹ (that actually works and is in the Kitten Settings section of every Kitten app) just saved my ass (again) :)

    Thank you, past me ;)

    ¹ kitten.small-web.org

    #Kitten #JSDB #backups #SmallWeb #SmallTech

  33. The built-in database backup and restore feature in Kitten¹ (that actually works and is in the Kitten Settings section of every Kitten app) just saved my ass (again) :)

    Thank you, past me ;)

    ¹ kitten.small-web.org

    #Kitten #JSDB #backups #SmallWeb #SmallTech

  34. 🥳 JavaScript Database (JSDB) version 6.1.4 released:

    • Adds TypeScript type definitions

    Been meaning to do this for a while and finally got round to it :)

    codeberg.org/small-tech/jsdb#j

    #JavaScript #database #JavaScriptDatabase #JSDB #native #data #web #dev #NodeJS #SmallWeb

  35. 🥳 JavaScript Database (JSDB) version 6.1.4 released:

    • Adds TypeScript type definitions

    Been meaning to do this for a while and finally got round to it :)

    codeberg.org/small-tech/jsdb#j

    #JavaScript #database #JavaScriptDatabase #JSDB #native #data #web #dev #NodeJS #SmallWeb

  36. 🥳 JavaScript Database (JSDB) version 6.1.4 released:

    • Adds TypeScript type definitions

    Been meaning to do this for a while and finally got round to it :)

    codeberg.org/small-tech/jsdb#j

    #JavaScript #database #JavaScriptDatabase #JSDB #native #data #web #dev #NodeJS #SmallWeb

  37. 🥳 JavaScript Database (JSDB) version 6.1.4 released:

    • Adds TypeScript type definitions

    Been meaning to do this for a while and finally got round to it :)

    codeberg.org/small-tech/jsdb#j

    #JavaScript #database #JavaScriptDatabase #JSDB #native #data #web #dev #NodeJS #SmallWeb

  38. 🥳 JavaScript Database (JSDB) version 6.1.4 released:

    • Adds TypeScript type definitions

    Been meaning to do this for a while and finally got round to it :)

    codeberg.org/small-tech/jsdb#j

    #JavaScript #database #JavaScriptDatabase #JSDB #native #data #web #dev #NodeJS #SmallWeb

  39. 👋🤓 Goodbye Site.js, Hello Kitten!

    I started working on creating a Small Web¹ server (a peer-to-peer Web server) six years ago² with Site.js.

    Building Site.js was my first attempt. And it resulted in:

    • Auto Encrypt (automatic Let’s Encrypt certificates): codeberg.org/small-tech/auto-e

    • Auto Encrypt Localhost (automatic localhost TLS certificates): codeberg.org/small-tech/auto-e

    • @small-tech/https (drop-in Node.js https module replacement with automatic TLS certs everywhere): codeberg.org/small-tech/https

    • JSDB: In-process, in-memory JavaScript database that persists to append-only JavaScript logs: codeberg.org/small-tech/jsdb

    As Site.js reached an evolutionary dead-end, and as I learned from my experiements with replicated data types that replicated data types are *not* a prerequisite for a decentralised web (actual topological decentralisation and ease of use are), I started writing a new server/platform called Kitten from scratch while still making use of the tried and tested modules listed above.

    Last week, I switched over our last site using Site.js to Kitten and, with that, today I’ve sunset³ Site.js:

    sitejs.org

    For its successor, please see Kitten:

    kitten.small-web.org

    If you want to support our work at the Small Technology Foundation, please consider becoming a patron:

    small-tech.org/fund-us

    :kitten:💕

    ¹ ar.al/2024/06/24/small-web-com
    ² ar.al/2019/08/26/introducing-s
    ³ Using our instance of Look Over There!: look-over-there.small-web.org

    #SiteJS #SmallWeb #SmallTech #peerToPeerWeb #SmallTechnologyFoundation #AutoEncrypt #AutoEncryptLocalhost #JSDB #JavaScriptDatabase #https #TLS

  40. 👋🤓 Goodbye Site.js, Hello Kitten!

    I started working on creating a Small Web¹ server (a peer-to-peer Web server) six years ago² with Site.js.

    Building Site.js was my first attempt. And it resulted in:

    • Auto Encrypt (automatic Let’s Encrypt certificates): codeberg.org/small-tech/auto-e

    • Auto Encrypt Localhost (automatic localhost TLS certificates): codeberg.org/small-tech/auto-e

    • @small-tech/https (drop-in Node.js https module replacement with automatic TLS certs everywhere): codeberg.org/small-tech/https

    • JSDB: In-process, in-memory JavaScript database that persists to append-only JavaScript logs: codeberg.org/small-tech/jsdb

    As Site.js reached an evolutionary dead-end, and as I learned from my experiements with replicated data types that replicated data types are *not* a prerequisite for a decentralised web (actual topological decentralisation and ease of use are), I started writing a new server/platform called Kitten from scratch while still making use of the tried and tested modules listed above.

    Last week, I switched over our last site using Site.js to Kitten and, with that, today I’ve sunset³ Site.js:

    sitejs.org

    For its successor, please see Kitten:

    kitten.small-web.org

    If you want to support our work at the Small Technology Foundation, please consider becoming a patron:

    small-tech.org/fund-us

    :kitten:💕

    ¹ ar.al/2024/06/24/small-web-com
    ² ar.al/2019/08/26/introducing-s
    ³ Using our instance of Look Over There!: look-over-there.small-web.org

    #SiteJS #SmallWeb #SmallTech #peerToPeerWeb #SmallTechnologyFoundation #AutoEncrypt #AutoEncryptLocalhost #JSDB #JavaScriptDatabase #https #TLS