etherpad-lite/bin
정건우(ignite) 66dd455124
Migrate server to TypeScript 7 (tsgo) (#8039)
* Migrate server to TypeScript 7 (tsgo)

Bump typescript to ^7.0.0 in ep_etherpad-lite and bin. Fix the two
diagnostics the new compiler reports: an unguarded spread of
splitTextLines' nullable result in TextLinesMutator (silenced with
@ts-ignore, matching the sibling push calls), and per-element overload
errors on the hooks.ts test-case concat that a single @ts-ignore no
longer covers (replaced with an explicit any[] cast).

admin and ui intentionally stay on TypeScript 6: their build depends on
openapi-typescript, which uses the JS compiler API that tsgo does not
expose until 7.1.

pnpm-workspace.yaml gains minimum-release-age exclusions for the
freshly released typescript 7 packages.

* Address review: null-safe splitTextLines spread, typed hook test cases

Replace the @ts-ignore-only approach with a real null guard
(splitTextLines(text) ?? []) in TextLinesMutator.insert, and replace
the any[] cast in hooks.ts with an explicit HookFnTestCase type so the
concatenated test cases stay shape-checked.

* Type _curSplice as [number, number, ...string[]], drop 21 ts-ignores

The tuple was declared [number, number?] but it actually carries the
lines to insert after the two splice numbers (the JSDoc already said
so). Typing it correctly removes every curSplice-related ts-ignore in
the file, including the one added earlier in this branch. The two
remaining ignores are about StringArrayLike lines, unrelated to this
migration.

No behavior change: types and casts only. tsc --noEmit clean,
easysync mutation tests pass.

---------

Co-authored-by: SamTV12345 <40429738+samtv12345@users.noreply.github.com>
2026-07-27 21:00:32 +02:00
..
deb-src cleanup after workspace refactoring (#6174) 2024-02-21 21:50:11 +01:00
nsis cleanup after workspace refactoring (#6174) 2024-02-21 21:50:11 +01:00
plugins Drop swagger-ui, document telemetry, add opt-outs (#7524) (#7757) 2026-05-16 18:34:22 +01:00
buildDebian.sh cleanup after workspace refactoring (#6174) 2024-02-21 21:50:11 +01:00
buildForWindows.sh chore: updated node to supported 22,24,25 (#7628) 2026-04-28 22:45:28 +02:00
checkAllPads.ts Fixed bin scripts. 2024-08-08 21:23:10 +02:00
checkPad.ts Fixed checkPad script not returning 2024-07-12 08:34:53 +02:00
cleanRun.sh cleanup after workspace refactoring (#6174) 2024-02-21 21:50:11 +01:00
commonPlugins.ts fix(plugins): updatePlugins.sh actually updates installed plugins (closes #6670) (#7644) 2026-05-02 07:22:25 +01:00
compactAllPads.ts docs: refresh docs for 3.2.0 — correct stale content, document recent features (#7888) 2026-06-05 13:44:25 +01:00
compactPad.ts docs: refresh docs for 3.2.0 — correct stale content, document recent features (#7888) 2026-06-05 13:44:25 +01:00
compactStalePads.ts docs: refresh docs for 3.2.0 — correct stale content, document recent features (#7888) 2026-06-05 13:44:25 +01:00
convertSettings.json.template cleanup after workspace refactoring (#6174) 2024-02-21 21:50:11 +01:00
createUserSession.ts chore: removed axios (#7685) 2026-05-06 22:06:04 +02:00
debugRun.sh cleanup after workspace refactoring (#6174) 2024-02-21 21:50:11 +01:00
deleteAllGroupSessions.ts chore: removed axios (#7685) 2026-05-06 22:06:04 +02:00
deletePad.ts chore: removed axios (#7685) 2026-05-06 22:06:04 +02:00
extractPadData.ts Fixed bin scripts. 2024-08-08 21:23:10 +02:00
fastRun.sh chore: fixed fastRun.sh script (#7063) 2025-08-05 18:24:19 +02:00
functions.sh Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +01:00
generateReleaseNotes.ts chore: fixed generatereleasenotes to respect filename 2025-11-05 22:14:58 +01:00
importSqlFile.ts fix(bin): migrate importSqlFile & migrateDirtyDBtoRealDB to ueberdb2 promise API (#7983) 2026-06-19 11:51:34 +01:00
installDeps.sh cleanup after workspace refactoring (#6174) 2024-02-21 21:50:11 +01:00
installer.ps1 Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +01:00
installer.sh Roll Node.js floor back to >= 24 (Active LTS) — closes #7779 (#7781) 2026-05-16 13:07:59 +01:00
installLocalPlugins.sh Fix installation of local plugins 2025-04-05 15:31:36 +02:00
make_docs.ts Enforce 2-space indentation across codebase (#7426) 2026-04-01 19:48:45 +01:00
migrateDB.ts fix(bin): close DBs in migrateDB so it flushes and exits (#7982) 2026-06-19 11:48:39 +01:00
migrateDirtyDBtoRealDB.ts fix(bin): migrate importSqlFile & migrateDirtyDBtoRealDB to ueberdb2 promise API (#7983) 2026-06-19 11:51:34 +01:00
package.json Migrate server to TypeScript 7 (tsgo) (#8039) 2026-07-27 21:00:32 +02:00
plugins.ts fix(plugins): updatePlugins.sh actually updates installed plugins (closes #6670) (#7644) 2026-05-02 07:22:25 +01:00
push-after-release.sh cleanup after workspace refactoring (#6174) 2024-02-21 21:50:11 +01:00
rebuildPad.ts chore: migrated settings to esm6 (#7062) 2025-08-04 22:42:50 +02:00
release.ts chore: use jq for version replacement [skip ci] 2026-05-06 23:40:23 +02:00
repairPad.ts Fixed bin scripts. 2024-08-08 21:23:10 +02:00
run-frontend-tests-with-disables.sh fix(test): disables helper auto-detect must follow symlinks (#7654) 2026-05-02 19:25:16 +08:00
run.sh Feat/bundle js (#6511) 2024-07-18 08:51:30 +02:00
safeRun.sh cleanup after workspace refactoring (#6174) 2024-02-21 21:50:11 +01:00
setup-trusted-publishers.sh fix: setup-trusted-publishers.sh works with real npm trust CLI (#7491) 2026-04-08 10:56:13 +01:00
tsconfig.json Removed deprecated js files. 2024-08-18 19:22:08 +02:00
updatePlugins.sh fix(plugins): updatePlugins.sh actually updates installed plugins (closes #6670) (#7644) 2026-05-02 07:22:25 +01:00