Johannes Zellner
918c2f8587
Move to @cloudron/safetydance
2026-04-01 09:49:34 +02:00
Girish Ramakrishnan
01d0c738bc
replace debug() with our custom logger
...
mostly we want trace() and log(). trace() can be enabled whenever
we want by flipping a flag and restarting box
2026-03-12 23:08:35 +05:30
Girish Ramakrishnan
f061ee5f88
Update modules
2026-03-02 08:40:19 +05:30
Girish Ramakrishnan
812d471573
add backupCommand, restoreCommand, persistentDirs
2026-02-21 19:42:52 +01:00
Girish Ramakrishnan
95952fae75
update manifestformat
2026-02-19 14:40:29 +01:00
Girish Ramakrishnan
255b1c63d0
Update modules
2026-02-19 13:36:26 +01:00
Girish Ramakrishnan
d0a66f1701
Back to mocha!
...
sorry i ever left you dear mocha
node:test has two major issues:
* --bail does not work and requires strange modules and incantations.
I was able to work around this with a custom module.
* the test reporter reports _after_ the suite is run. this makes debugging
really hard. the debugs that we print all happen before the test suite summary.
poor design overall.
2026-02-19 13:24:14 +01:00
Girish Ramakrishnan
c176ac600b
migrate tests to node:test
2026-02-19 10:13:22 +01:00
Girish Ramakrishnan
03d0e2157e
Update modules
2026-02-18 19:59:58 +01:00
Girish Ramakrishnan
b5a1554631
Fix various linter errors
2026-02-15 19:37:30 +01:00
Girish Ramakrishnan
eae86d15ef
Update modules
2026-02-14 19:49:42 +01:00
Girish Ramakrishnan
96dc79cfe6
Migrate codebase from CommonJS to ES Modules
...
- Convert all require()/module.exports to import/export across 260+ files
- Add "type": "module" to package.json to enable ESM by default
- Add migrations/package.json with "type": "commonjs" to keep db-migrate compatible
- Convert eslint.config.js to ESM with sourceType: "module"
- Replace __dirname/__filename with import.meta.dirname/import.meta.filename
- Replace require.main === module with process.argv[1] === import.meta.filename
- Remove 'use strict' directives (implicit in ESM)
- Convert dynamic require() in switch statements to static import lookup maps
(dns.js, domains.js, backupformats.js, backupsites.js, network.js)
- Extract self-referencing exports.CONSTANT patterns into standalone const
declarations (apps.js, services.js, locks.js, users.js, mail.js, etc.)
- Lazify SERVICES object in services.js to avoid circular dependency TDZ issues
- Add clearMailQueue() to mailer.js for ESM-safe queue clearing in tests
- Add _setMockApp() to ldapserver.js for ESM-safe test mocking
- Add _setMockResolve() wrapper to dig.js for ESM-safe DNS mocking in tests
- Convert backupupload.js to use dynamic imports so --check exits before
loading the module graph (which requires BOX_ENV)
- Update check-install to use ESM import for infra_version.js
- Convert scripts/ (hotfix, release, remote_hotfix.js, find-unused-translations)
- All 1315 tests passing
Migration stats (AI-assisted using Cursor with Claude):
- Wall clock time: ~3-4 hours
- Assistant completions: ~80-100
- Estimated token usage: ~1-2M tokens
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-14 15:11:45 +01:00
Johannes Zellner
5724ca73b4
Add passkey support
2026-02-13 17:18:56 +01:00
Girish Ramakrishnan
d4efb63f3d
Update packages
2026-02-09 15:51:47 +01:00
Girish Ramakrishnan
2a244bb8d4
Update versions format to have a root
2026-02-06 22:39:29 +01:00
Girish Ramakrishnan
be69f9f8a3
minor package updates
2026-02-06 18:23:30 +01:00
Girish Ramakrishnan
5ca2078461
add iconUrl to manifest
2026-02-06 18:04:47 +01:00
Girish Ramakrishnan
4461e7225f
validate versions file
2026-02-06 17:35:59 +01:00
Girish Ramakrishnan
a7de7fb286
initial implementation of community packages
2026-02-05 14:21:50 +01:00
Girish Ramakrishnan
1608fc3fdc
Update packages
2026-01-23 09:13:11 +01:00
Girish Ramakrishnan
03fe72e0b1
services: fix usage of pipework
2026-01-22 18:09:41 +01:00
Girish Ramakrishnan
b238443a9d
services: switch to using @cloudron/pipework
...
also improve the error messages along the way
2026-01-21 21:32:02 +01:00
Girish Ramakrishnan
3daddf2fe6
update superagent
2026-01-17 22:18:27 +01:00
Johannes Zellner
6c0d5cb601
Remove yesno node module
2025-11-24 13:58:03 +01:00
Girish Ramakrishnan
e0b8a2400a
Update marked
2025-11-11 08:59:57 +01:00
Girish Ramakrishnan
151ba569a7
Update pankow and friends
2025-11-11 08:59:12 +01:00
Girish Ramakrishnan
286de8cdcb
Update manifest format
2025-10-21 14:19:45 +02:00
Girish Ramakrishnan
d6a4dd6965
backup sites: fix listing when status call errors
...
* fix backend to not retry in status call
* fix frontend to continue loading view if status errors
* fix connect-lastmile to show the exact path that is timing out
2025-10-16 14:13:31 +02:00
Girish Ramakrishnan
92e6e99bb0
Update packages
2025-10-02 08:34:32 +02:00
Girish Ramakrishnan
ea464bdc7d
update modules
2025-08-01 12:14:32 +02:00
Girish Ramakrishnan
cbc73f5c9a
remove uuid module
...
built into node.js now
2025-07-28 12:54:09 +02:00
Girish Ramakrishnan
8bf8c278f0
system: add tests for fs usage route
2025-07-17 01:42:28 +02:00
Girish Ramakrishnan
fc9da4756c
major upgrade of marked
2025-07-14 10:26:26 +02:00
Girish Ramakrishnan
5c7db14253
Update minor/patch modules
2025-07-14 10:26:13 +02:00
Girish Ramakrishnan
313256adff
use @cloudron/manifest-format
2025-07-10 11:17:04 +02:00
Girish Ramakrishnan
bba48f455e
use @connect-lastmile
2025-07-10 11:00:31 +02:00
Girish Ramakrishnan
6ac0cd421a
use the @cloudron/superagent module
2025-07-10 10:56:05 +02:00
Girish Ramakrishnan
1672217dd9
replace mysql module with mysql2
...
mysql is deprecated since years now
2025-06-19 12:41:49 +02:00
Girish Ramakrishnan
203ad6b565
major upgrade of express
2025-06-06 08:39:57 +02:00
Girish Ramakrishnan
c6ae7729d1
Fix package.json version
2025-06-06 08:26:21 +02:00
Girish Ramakrishnan
af719dd8c2
major package changes
2025-06-06 08:24:45 +02:00
Girish Ramakrishnan
f87e257233
update modules
2025-06-06 08:16:57 +02:00
Johannes Zellner
38ff515d68
Add 1 hour graph translation
2025-05-26 10:45:23 +02:00
Johannes Zellner
48e2a79d8f
Rename npm package name to cloudron-platform to not clash with the cli
2025-05-23 15:49:50 +02:00
Girish Ramakrishnan
a7c6e36ec3
replace ipaddr.js
2025-05-06 16:26:35 +02:00
Girish Ramakrishnan
9168af4850
update modules
...
fixes crash in safetydance when function returns null
2025-04-29 08:18:00 +02:00
Girish Ramakrishnan
5d88e86462
sendmail: add requiresValidCertificate
...
some apps really want a valid certificate to send mail and upstream
authors won't add support to skip self-signed certs or skip host name
check in cert. In our case, the issue is that we use 'mail' as the
server name despite having valid certs.
this flag will set the server name to the full mail server fqdn and
also reconfigure the app as needed when the mail server name changes.
we also set up the mail server name to resolve to internal IP because
no mail port is exposed when we are not receiving emails!
2025-03-08 13:15:53 +01:00
Girish Ramakrishnan
f0848e23c7
replace validator module
2025-03-07 12:32:50 +01:00
Girish Ramakrishnan
d75e95a23d
superagent: rewrite using native node request
...
the learning is that fetch() is really meant to be a browser side
XMLHttpRequest replacement. It's complicated to do things like
setting user agent, custom headers like Host, disabling tls validation etc.
2025-02-18 16:23:06 +01:00
Girish Ramakrishnan
b5721fe6f3
inline basic-auth module
2025-02-15 16:56:40 +01:00