diff --git a/admin/package.json b/admin/package.json index 20723272e..8ccd98081 100644 --- a/admin/package.json +++ b/admin/package.json @@ -5,9 +5,9 @@ "type": "module", "scripts": { "dev": "vite", - "build": "tsc && vite build", + "build": "tsgo && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "build-copy": "tsc && vite build --outDir ../src/templates/admin --emptyOutDir", + "build-copy": "tsgo && vite build --outDir ../src/templates/admin --emptyOutDir", "preview": "vite preview" }, "dependencies": { @@ -33,7 +33,7 @@ "react-i18next": "^15.6.0", "react-router-dom": "^7.6.3", "socket.io-client": "^4.8.1", - "typescript": "^5.8.2", + "@typescript/native-preview": "^7.0.0-dev.20250811.1", "vite": "^7.0.4", "vite-plugin-static-copy": "^3.1.1", "vite-plugin-svgr": "^4.3.0", diff --git a/bin/package.json b/bin/package.json index 46d128ca2..26d981abd 100644 --- a/bin/package.json +++ b/bin/package.json @@ -17,7 +17,7 @@ "devDependencies": { "@types/node": "^24.0.14", "@types/semver": "^7.7.0", - "typescript": "^5.8.2" + "@typescript/native-preview": "^7.0.0-dev.20250811.1" }, "scripts": { "makeDocs": "node --import tsx make_docs.ts", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16c61b096..4fff0fae5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,10 +42,13 @@ importers: version: 19.1.6(@types/react@19.1.8) '@typescript-eslint/eslint-plugin': specifier: ^8.37.0 - version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/parser': specifier: ^8.37.0 - version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + version: 8.38.0(eslint@9.32.0(jiti@2.5.1)) + '@typescript/native-preview': + specifier: ^7.0.0-dev.20250811.1 + version: 7.0.0-dev.20250811.1 '@vitejs/plugin-react-swc': specifier: ^3.10.2 version: 3.10.2(@swc/helpers@0.5.17)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3)) @@ -60,7 +63,7 @@ importers: version: 0.4.20(eslint@9.32.0(jiti@2.5.1)) i18next: specifier: ^25.3.2 - version: 25.3.2(typescript@5.8.3) + version: 25.3.2 i18next-browser-languagedetector: specifier: ^8.2.0 version: 8.2.0 @@ -78,16 +81,13 @@ importers: version: 7.61.1(react@19.1.0) react-i18next: specifier: ^15.6.0 - version: 15.6.1(i18next@25.3.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3) + version: 15.6.1(i18next@25.3.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) react-router-dom: specifier: ^7.6.3 version: 7.7.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) socket.io-client: specifier: ^4.8.1 version: 4.8.1 - typescript: - specifier: ^5.8.2 - version: 5.8.3 vite: specifier: ^7.0.4 version: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3) @@ -96,7 +96,7 @@ importers: version: 3.1.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3)) vite-plugin-svgr: specifier: ^4.3.0 - version: 4.3.0(rollup@4.40.1)(typescript@5.8.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3)) + version: 4.3.0(rollup@4.40.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3)) zustand: specifier: ^5.0.6 version: 5.0.6(@types/react@19.1.8)(react@19.1.0) @@ -128,15 +128,15 @@ importers: '@types/semver': specifier: ^7.7.0 version: 7.7.0 - typescript: - specifier: ^5.8.2 - version: 5.8.3 + '@typescript/native-preview': + specifier: ^7.0.0-dev.20250811.1 + version: 7.0.0-dev.20250811.1 doc: devDependencies: vitepress: specifier: ^2.0.0-alpha.9 - version: 2.0.0-alpha.9(@types/node@24.1.0)(axios@1.11.0)(jiti@2.5.1)(jwt-decode@4.0.0)(postcss@8.5.6)(tsx@4.20.3)(typescript@5.8.3) + version: 2.0.0-alpha.9(@types/node@24.1.0)(axios@1.11.0)(jiti@2.5.1)(jwt-decode@4.0.0)(postcss@8.5.6)(tsx@4.20.3) src: dependencies: @@ -381,6 +381,9 @@ importers: '@types/whatwg-mimetype': specifier: ^3.0.2 version: 3.0.2 + '@typescript/native-preview': + specifier: ^7.0.0-dev.20250811.1 + version: 7.0.0-dev.20250811.1 chokidar: specifier: ^4.0.3 version: 4.0.3 @@ -389,7 +392,7 @@ importers: version: 9.32.0(jiti@2.5.1) eslint-config-etherpad: specifier: ^4.0.4 - version: 4.0.4(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + version: 4.0.4(eslint@9.32.0(jiti@2.5.1)) etherpad-cli-client: specifier: ^3.0.4 version: 3.0.4 @@ -417,21 +420,18 @@ importers: supertest: specifier: ^7.1.3 version: 7.1.4 - typescript: - specifier: ^5.8.2 - version: 5.8.3 vitest: specifier: ^3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(jiti@2.5.1)(jsdom@26.1.0)(tsx@4.20.3) ui: devDependencies: + '@typescript/native-preview': + specifier: ^7.0.0-dev.20250811.1 + version: 7.0.0-dev.20250811.1 ep_etherpad-lite: specifier: workspace:../src version: link:../src - typescript: - specifier: ^5.8.2 - version: 5.8.3 vite: specifier: ^7.0.4 version: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3) @@ -2530,6 +2530,53 @@ packages: resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20250811.1': + resolution: {integrity: sha512-jlodzPn799oItzbpBmUwJ6rh9e+fxNklDCbnVv7SwCLU/RZNdTdumezdN0RdWPKhZasI1iE4DQWAXoif+ZshuQ==} + engines: {node: '>=20.6.0'} + cpu: [arm64] + os: [darwin] + + '@typescript/native-preview-darwin-x64@7.0.0-dev.20250811.1': + resolution: {integrity: sha512-LjGwgqwx93AnGhIde25tw0ClDceErE4nUE/zhYtGsI183RMRibThzKAMQqZHO9L2Xb5cy9ouog9hPtFHAZnytw==} + engines: {node: '>=20.6.0'} + cpu: [x64] + os: [darwin] + + '@typescript/native-preview-linux-arm64@7.0.0-dev.20250811.1': + resolution: {integrity: sha512-Jt4hcNfUSP3qJut8sowUy/YwxBcL2Q0wkQYoPPDfWu7ppSrDIvUnojH254KqTPAUvSENnpfMayeq6IgdyWIDmg==} + engines: {node: '>=20.6.0'} + cpu: [arm64] + os: [linux] + + '@typescript/native-preview-linux-arm@7.0.0-dev.20250811.1': + resolution: {integrity: sha512-rlzcRjKhlYM5lVGhjzoZ8uL4MCX8exLuOawKU6WT4QJAZHAboABNTD/ywsTXny62tmnMtVgBSUnKX9lczRx4vQ==} + engines: {node: '>=20.6.0'} + cpu: [arm] + os: [linux] + + '@typescript/native-preview-linux-x64@7.0.0-dev.20250811.1': + resolution: {integrity: sha512-iHq021EGaVV7GEPre/OzqPv0Q9568H5gK3g9T6RLRysbcdEaMqNHOdegDQQNjMM2mlOHI7lS3X1xCGiLREPghQ==} + engines: {node: '>=20.6.0'} + cpu: [x64] + os: [linux] + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20250811.1': + resolution: {integrity: sha512-aOrI1Kwh5uBUWmyTFgpQhqgeIdHlvtMcpC/mhGN9WGetABNajZcT271LUNJh0mfiLFvBMFnd3AtrUt1DRplFng==} + engines: {node: '>=20.6.0'} + cpu: [arm64] + os: [win32] + + '@typescript/native-preview-win32-x64@7.0.0-dev.20250811.1': + resolution: {integrity: sha512-Q5i2Gh73/rr+ck0HtzFlKMtZDM+l+2ILlO+beEHPtNlHBfrLaDbKh7up3csWqNDLyG4YcDLNvpg8MZURDOzQtg==} + engines: {node: '>=20.6.0'} + cpu: [x64] + os: [win32] + + '@typescript/native-preview@7.0.0-dev.20250811.1': + resolution: {integrity: sha512-RmMRT8m9BYen1hW36yS8dkfyqbakBkzhXI+JtY/XvxRmpeAUHqsFuU/W5zaniynmXVdiVn9pPHwIzicQ76jbWQ==} + engines: {node: '>=20.6.0'} + hasBin: true + '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -5429,11 +5476,6 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} - engines: {node: '>=14.17'} - hasBin: true - ueberdb2@5.0.14: resolution: {integrity: sha512-WMhRgctxoCQ0Ix5v/Xmpsx73B0n6QP08arbF7wKG6zrI8uF7Gfo1HtYEV+3MTSbzFwfKP3MrrL3JjAMfMo1s2A==} engines: {node: '>=16.20.1'} @@ -7512,12 +7554,12 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.26.10) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.26.10) - '@svgr/core@8.1.0(typescript@5.8.3)': + '@svgr/core@8.1.0': dependencies: '@babel/core': 7.26.10 '@svgr/babel-preset': 8.1.0(@babel/core@7.26.10) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.8.3) + cosmiconfig: 8.3.6 snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -7528,11 +7570,11 @@ snapshots: '@babel/types': 7.27.0 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0)': dependencies: '@babel/core': 7.26.10 '@svgr/babel-preset': 8.1.0(@babel/core@7.26.10) - '@svgr/core': 8.1.0(typescript@5.8.3) + '@svgr/core': 8.1.0 '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: @@ -7874,72 +7916,65 @@ snapshots: '@types/whatwg-mimetype@3.0.2': {} - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/type-utils': 7.18.0(eslint@9.32.0(jiti@2.5.1)) + '@typescript-eslint/utils': 7.18.0(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/visitor-keys': 7.18.0 eslint: 9.32.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.8.3) - optionalDependencies: - typescript: 5.8.3 + ts-api-utils: 1.4.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.38.0 - '@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0(jiti@2.5.1)) + '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/visitor-keys': 8.38.0 eslint: 9.32.0(jiti@2.5.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1))': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.4.1(supports-color@8.1.1) eslint: 9.32.0(jiti@2.5.1) - optionalDependencies: - typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))': dependencies: '@typescript-eslint/scope-manager': 8.38.0 '@typescript-eslint/types': 8.38.0 - '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.38.0 '@typescript-eslint/visitor-keys': 8.38.0 debug: 4.4.1(supports-color@8.1.1) eslint: 9.32.0(jiti@2.5.1) - typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.38.0(typescript@5.8.3)': + '@typescript-eslint/project-service@8.38.0': dependencies: - '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.38.0 '@typescript-eslint/types': 8.38.0 debug: 4.4.1(supports-color@8.1.1) - typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -7953,31 +7988,26 @@ snapshots: '@typescript-eslint/types': 8.38.0 '@typescript-eslint/visitor-keys': 8.38.0 - '@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.8.3)': - dependencies: - typescript: 5.8.3 + '@typescript-eslint/tsconfig-utils@8.38.0': {} - '@typescript-eslint/type-utils@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/type-utils@7.18.0(eslint@9.32.0(jiti@2.5.1))': dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) - '@typescript-eslint/utils': 7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 7.18.0 + '@typescript-eslint/utils': 7.18.0(eslint@9.32.0(jiti@2.5.1)) debug: 4.4.1(supports-color@8.1.1) eslint: 9.32.0(jiti@2.5.1) - ts-api-utils: 1.4.3(typescript@5.8.3) - optionalDependencies: - typescript: 5.8.3 + ts-api-utils: 1.4.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.38.0(eslint@9.32.0(jiti@2.5.1))': dependencies: '@typescript-eslint/types': 8.38.0 - '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.38.0 + '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1)) debug: 4.4.1(supports-color@8.1.1) eslint: 9.32.0(jiti@2.5.1) - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0 transitivePeerDependencies: - supports-color @@ -7985,7 +8015,7 @@ snapshots: '@typescript-eslint/types@8.38.0': {} - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 @@ -7994,16 +8024,14 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 1.4.3(typescript@5.8.3) - optionalDependencies: - typescript: 5.8.3 + ts-api-utils: 1.4.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.38.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.38.0': dependencies: - '@typescript-eslint/project-service': 8.38.0(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) + '@typescript-eslint/project-service': 8.38.0 + '@typescript-eslint/tsconfig-utils': 8.38.0 '@typescript-eslint/types': 8.38.0 '@typescript-eslint/visitor-keys': 8.38.0 debug: 4.4.1(supports-color@8.1.1) @@ -8011,30 +8039,28 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.8.3) - typescript: 5.8.3 + ts-api-utils: 2.1.0 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/utils@7.18.0(eslint@9.32.0(jiti@2.5.1))': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 7.18.0 eslint: 9.32.0(jiti@2.5.1) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': + '@typescript-eslint/utils@8.38.0(eslint@9.32.0(jiti@2.5.1))': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1)) '@typescript-eslint/scope-manager': 8.38.0 '@typescript-eslint/types': 8.38.0 - '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.38.0 eslint: 9.32.0(jiti@2.5.1) - typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -8048,6 +8074,37 @@ snapshots: '@typescript-eslint/types': 8.38.0 eslint-visitor-keys: 4.2.1 + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20250811.1': + optional: true + + '@typescript/native-preview-darwin-x64@7.0.0-dev.20250811.1': + optional: true + + '@typescript/native-preview-linux-arm64@7.0.0-dev.20250811.1': + optional: true + + '@typescript/native-preview-linux-arm@7.0.0-dev.20250811.1': + optional: true + + '@typescript/native-preview-linux-x64@7.0.0-dev.20250811.1': + optional: true + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20250811.1': + optional: true + + '@typescript/native-preview-win32-x64@7.0.0-dev.20250811.1': + optional: true + + '@typescript/native-preview@7.0.0-dev.20250811.1': + optionalDependencies: + '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20250811.1 + '@typescript/native-preview-darwin-x64': 7.0.0-dev.20250811.1 + '@typescript/native-preview-linux-arm': 7.0.0-dev.20250811.1 + '@typescript/native-preview-linux-arm64': 7.0.0-dev.20250811.1 + '@typescript/native-preview-linux-x64': 7.0.0-dev.20250811.1 + '@typescript/native-preview-win32-arm64': 7.0.0-dev.20250811.1 + '@typescript/native-preview-win32-x64': 7.0.0-dev.20250811.1 + '@ungap/structured-clone@1.3.0': {} '@unrs/resolver-binding-darwin-arm64@1.3.3': @@ -8105,11 +8162,11 @@ snapshots: transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-vue@6.0.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))': + '@vitejs/plugin-vue@6.0.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18)': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3) - vue: 3.5.18(typescript@5.8.3) + vue: 3.5.18 '@vitest/expect@3.2.4': dependencies: @@ -8217,26 +8274,26 @@ snapshots: '@vue/shared': 3.5.18 csstype: 3.1.3 - '@vue/server-renderer@3.5.18(vue@3.5.18(typescript@5.8.3))': + '@vue/server-renderer@3.5.18(vue@3.5.18)': dependencies: '@vue/compiler-ssr': 3.5.18 '@vue/shared': 3.5.18 - vue: 3.5.18(typescript@5.8.3) + vue: 3.5.18 '@vue/shared@3.5.18': {} - '@vueuse/core@13.6.0(vue@3.5.18(typescript@5.8.3))': + '@vueuse/core@13.6.0(vue@3.5.18)': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 13.6.0 - '@vueuse/shared': 13.6.0(vue@3.5.18(typescript@5.8.3)) - vue: 3.5.18(typescript@5.8.3) + '@vueuse/shared': 13.6.0(vue@3.5.18) + vue: 3.5.18 - '@vueuse/integrations@13.6.0(axios@1.11.0)(focus-trap@7.6.5)(jwt-decode@4.0.0)(vue@3.5.18(typescript@5.8.3))': + '@vueuse/integrations@13.6.0(axios@1.11.0)(focus-trap@7.6.5)(jwt-decode@4.0.0)(vue@3.5.18)': dependencies: - '@vueuse/core': 13.6.0(vue@3.5.18(typescript@5.8.3)) - '@vueuse/shared': 13.6.0(vue@3.5.18(typescript@5.8.3)) - vue: 3.5.18(typescript@5.8.3) + '@vueuse/core': 13.6.0(vue@3.5.18) + '@vueuse/shared': 13.6.0(vue@3.5.18) + vue: 3.5.18 optionalDependencies: axios: 1.11.0 focus-trap: 7.6.5 @@ -8244,9 +8301,9 @@ snapshots: '@vueuse/metadata@13.6.0': {} - '@vueuse/shared@13.6.0(vue@3.5.18(typescript@5.8.3))': + '@vueuse/shared@13.6.0(vue@3.5.18)': dependencies: - vue: 3.5.18(typescript@5.8.3) + vue: 3.5.18 accepts@1.3.8: dependencies: @@ -8597,14 +8654,12 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig@8.3.6(typescript@5.8.3): + cosmiconfig@8.3.6: dependencies: import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - optionalDependencies: - typescript: 5.8.3 cross-env@7.0.3: dependencies: @@ -8963,15 +9018,15 @@ snapshots: eslint: 9.32.0(jiti@2.5.1) semver: 7.7.2 - eslint-config-etherpad@4.0.4(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3): + eslint-config-etherpad@4.0.4(eslint@9.32.0(jiti@2.5.1)): dependencies: '@rushstack/eslint-patch': 1.11.0 - '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) - '@typescript-eslint/parser': 7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1)) + '@typescript-eslint/parser': 7.18.0(eslint@9.32.0(jiti@2.5.1)) eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-cypress: 2.15.2(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-eslint-comments: 3.2.0(eslint@9.32.0(jiti@2.5.1)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1)))(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-mocha: 10.5.0(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-n: 16.6.2(eslint@9.32.0(jiti@2.5.1)) eslint-plugin-prefer-arrow: 1.2.3(eslint@9.32.0(jiti@2.5.1)) @@ -9003,15 +9058,15 @@ snapshots: tinyglobby: 0.2.14 unrs-resolver: 1.3.3 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1)))(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1)))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.32.0(jiti@2.5.1)) eslint: 9.32.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.32.0(jiti@2.5.1)) @@ -9036,7 +9091,7 @@ snapshots: eslint: 9.32.0(jiti@2.5.1) ignore: 5.3.2 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1)))(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -9047,7 +9102,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.32.0(jiti@2.5.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.32.0(jiti@2.5.1)))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.32.0(jiti@2.5.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -9059,7 +9114,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.18.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.32.0(jiti@2.5.1)) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -9674,11 +9729,9 @@ snapshots: dependencies: '@babel/runtime': 7.27.6 - i18next@25.3.2(typescript@5.8.3): + i18next@25.3.2: dependencies: '@babel/runtime': 7.27.6 - optionalDependencies: - typescript: 5.8.3 iconv-lite@0.6.3: dependencies: @@ -10613,15 +10666,14 @@ snapshots: dependencies: react: 19.1.0 - react-i18next@15.6.1(i18next@25.3.2(typescript@5.8.3))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3): + react-i18next@15.6.1(i18next@25.3.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@babel/runtime': 7.27.6 html-parse-stringify: 3.0.1 - i18next: 25.3.2(typescript@5.8.3) + i18next: 25.3.2 react: 19.1.0 optionalDependencies: react-dom: 19.1.0(react@19.1.0) - typescript: 5.8.3 react-remove-scroll-bar@2.3.8(@types/react@19.1.8)(react@19.1.0): dependencies: @@ -11256,13 +11308,9 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.4.3(typescript@5.8.3): - dependencies: - typescript: 5.8.3 + ts-api-utils@1.4.3: {} - ts-api-utils@2.1.0(typescript@5.8.3): - dependencies: - typescript: 5.8.3 + ts-api-utils@2.1.0: {} tsconfig-paths@3.15.0: dependencies: @@ -11331,8 +11379,6 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript@5.8.3: {} - ueberdb2@5.0.14: {} uid-safe@2.1.5: @@ -11485,11 +11531,11 @@ snapshots: tinyglobby: 0.2.14 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3) - vite-plugin-svgr@4.3.0(rollup@4.40.1)(typescript@5.8.3)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3)): + vite-plugin-svgr@4.3.0(rollup@4.40.1)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3)): dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.40.1) - '@svgr/core': 8.1.0(typescript@5.8.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3)) + '@svgr/core': 8.1.0 + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3) transitivePeerDependencies: - rollup @@ -11510,7 +11556,7 @@ snapshots: jiti: 2.5.1 tsx: 4.20.3 - vitepress@2.0.0-alpha.9(@types/node@24.1.0)(axios@1.11.0)(jiti@2.5.1)(jwt-decode@4.0.0)(postcss@8.5.6)(tsx@4.20.3)(typescript@5.8.3): + vitepress@2.0.0-alpha.9(@types/node@24.1.0)(axios@1.11.0)(jiti@2.5.1)(jwt-decode@4.0.0)(postcss@8.5.6)(tsx@4.20.3): dependencies: '@docsearch/css': 4.0.0-beta.5 '@docsearch/js': 4.0.0-beta.5 @@ -11518,17 +11564,17 @@ snapshots: '@shikijs/core': 3.9.1 '@shikijs/transformers': 3.9.1 '@shikijs/types': 3.9.1 - '@vitejs/plugin-vue': 6.0.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3)) + '@vitejs/plugin-vue': 6.0.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18) '@vue/devtools-api': 7.7.7 '@vue/shared': 3.5.18 - '@vueuse/core': 13.6.0(vue@3.5.18(typescript@5.8.3)) - '@vueuse/integrations': 13.6.0(axios@1.11.0)(focus-trap@7.6.5)(jwt-decode@4.0.0)(vue@3.5.18(typescript@5.8.3)) + '@vueuse/core': 13.6.0(vue@3.5.18) + '@vueuse/integrations': 13.6.0(axios@1.11.0)(focus-trap@7.6.5)(jwt-decode@4.0.0)(vue@3.5.18) focus-trap: 7.6.5 mark.js: 8.11.1 minisearch: 7.1.2 shiki: 3.9.1 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(tsx@4.20.3) - vue: 3.5.18(typescript@5.8.3) + vue: 3.5.18 optionalDependencies: postcss: 8.5.6 transitivePeerDependencies: @@ -11601,15 +11647,13 @@ snapshots: void-elements@3.1.0: {} - vue@3.5.18(typescript@5.8.3): + vue@3.5.18: dependencies: '@vue/compiler-dom': 3.5.18 '@vue/compiler-sfc': 3.5.18 '@vue/runtime-dom': 3.5.18 - '@vue/server-renderer': 3.5.18(vue@3.5.18(typescript@5.8.3)) + '@vue/server-renderer': 3.5.18(vue@3.5.18) '@vue/shared': 3.5.18 - optionalDependencies: - typescript: 5.8.3 w3c-xmlserializer@5.0.0: dependencies: diff --git a/src/node/server.ts b/src/node/server.ts index e8a225552..01a156f6b 100755 --- a/src/node/server.ts +++ b/src/node/server.ts @@ -105,14 +105,14 @@ const removeSignalListener = (signal: NodeJS.Signals, listener: NodeJS.SignalsLi let startDoneGate: Gate -exports.start = async () => { +const start = async () => { switch (state) { case State.INITIAL: break; case State.STARTING: await startDoneGate; // Retry. Don't fall through because it might have transitioned to STATE_TRANSITION_FAILED. - return await exports.start(); + return await start(); case State.RUNNING: return express.server; case State.STOPPING: @@ -140,7 +140,7 @@ exports.start = async () => { logger.debug(`uncaught exception: ${err.stack || err}`); // eslint-disable-next-line promise/no-promise-in-callback - exports.exit(err) + exit(err) .catch((err: ErrorCaused) => { logger.error('Error in process exit', err); // eslint-disable-next-line n/no-process-exit @@ -157,12 +157,12 @@ exports.start = async () => { for (const signal of ['SIGINT', 'SIGTERM'] as NodeJS.Signals[]) { // Forcibly remove other signal listeners to prevent them from terminating node before we are // done cleaning up. See https://github.com/andywer/threads.js/pull/329 for an example of a - // problematic listener. This means that exports.exit is solely responsible for performing all + // problematic listener. This means that exit is solely responsible for performing all // necessary cleanup tasks. for (const listener of process.listeners(signal)) { removeSignalListener(signal, listener); } - process.on(signal, exports.exit); + process.on(signal, exit); // Prevent signal listeners from being added in the future. process.on('newListener', (event, listener) => { if (event !== signal) return; @@ -187,7 +187,7 @@ exports.start = async () => { state = State.STATE_TRANSITION_FAILED; // @ts-ignore startDoneGate.resolve(); - return await exports.exit(err); + return await exit(err); } logger.info('Etherpad is running'); @@ -200,12 +200,12 @@ exports.start = async () => { }; const stopDoneGate = new Gate(); -exports.stop = async () => { +export const stop: any = async () => { switch (state) { case State.STARTING: - await exports.start(); + await start(); // Don't fall through to State.RUNNING in case another caller is also waiting for startup. - return await exports.stop(); + return await stop(); case State.RUNNING: break; case State.STOPPING: @@ -231,12 +231,12 @@ exports.stop = async () => { }), ]); clearTimeout(timeout); - } catch (err) { + } catch (err: any) { logger.error('Error occurred while stopping Etherpad'); state = State.STATE_TRANSITION_FAILED; // @ts-ignore stopDoneGate.resolve(); - return await exports.exit(err); + return await exit(err); } logger.info('Etherpad stopped'); state = State.STOPPED; @@ -246,7 +246,7 @@ exports.stop = async () => { let exitGate: any; let exitCalled = false; -exports.exit = async (err: ErrorCaused|string|null = null) => { +export const exit: any = async (err: ErrorCaused|string|null = null) => { /* eslint-disable no-process-exit */ if (err === 'SIGTERM') { // Termination from SIGTERM is not treated as an abnormal termination. @@ -267,11 +267,11 @@ exports.exit = async (err: ErrorCaused|string|null = null) => { case State.STARTING: case State.RUNNING: case State.STOPPING: - await exports.stop(); + await stop(); // Don't fall through to State.STOPPED in case another caller is also waiting for stop(). - // Don't pass err to exports.exit() because this err has already been processed. (If err is + // Don't pass err to exit() because this err has already been processed. (If err is // passed again to exit() then exit() will think that a second error occurred while exiting.) - return await exports.exit(); + return await exit(); case State.INITIAL: case State.STOPPED: case State.STATE_TRANSITION_FAILED: @@ -311,7 +311,9 @@ exports.exit = async (err: ErrorCaused|string|null = null) => { /* eslint-enable no-process-exit */ }; -if (require.main === module) exports.start(); +if (require.main === module) { + start(); +} // @ts-ignore -if (typeof(PhusionPassenger) !== 'undefined') exports.start(); +if (typeof(PhusionPassenger) !== 'undefined') start(); diff --git a/src/package.json b/src/package.json index b57935f5d..b6ab927c9 100644 --- a/src/package.json +++ b/src/package.json @@ -128,7 +128,7 @@ "sinon": "^21.0.0", "split-grid": "^1.0.11", "supertest": "^7.1.3", - "typescript": "^5.8.2", + "@typescript/native-preview": "^7.0.0-dev.20250811.1", "vitest": "^3.2.4" }, "engines": { diff --git a/ui/package.json b/ui/package.json index 788475036..4dc8574ce 100644 --- a/ui/package.json +++ b/ui/package.json @@ -5,13 +5,16 @@ "type": "module", "scripts": { "dev": "vite", - "build": "tsc && vite build", + "build": "tsgo && vite build", "preview": "vite preview", - "build-copy": "tsc && vite build --outDir ../src/static/oidc --emptyOutDir" + "build-copy": "tsgo && vite build --outDir ../src/static/oidc --emptyOutDir" }, "devDependencies": { "ep_etherpad-lite": "workspace:../src", - "typescript": "^5.8.2", + "@typescript/native-preview": "^7.0.0-dev.20250811.1", "vite": "^7.0.4" + }, + "overrides": { + "typescript": "@typescript/native-preview" } }