From 016d59fae161980857ccf879eedb01eee8fcf194 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 20:48:29 +0300 Subject: [PATCH 01/65] refactor(client/vite): first setup --- apps/client/vite.config.ts | 42 +++-- apps/client/webpack.config.cjs | 116 ------------- package.json | 1 + pnpm-lock.yaml | 298 ++++++++++++++++++++------------- 4 files changed, 212 insertions(+), 245 deletions(-) delete mode 100644 apps/client/webpack.config.cjs diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts index 7dedf276b..f1bc58069 100644 --- a/apps/client/vite.config.ts +++ b/apps/client/vite.config.ts @@ -1,21 +1,39 @@ - +/// +import { join } from 'path'; import { defineConfig } from 'vite'; export default defineConfig(() => ({ root: __dirname, cacheDir: '../../node_modules/.vite/apps/client', + server: { + port: 4200, + host: 'localhost', + }, + preview: { + port: 4300, + host: 'localhost', + }, plugins: [], - test: { - watch: false, - globals: true, - setupFiles: ["./src/test/setup.ts"], - environment: "happy-dom", - include: ["src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"], - reporters: ["default"], - coverage: { - reportsDirectory: './test-output/vitest/coverage', - provider: 'v8' as const, - reporter: [ "text", "html" ] + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + build: { + outDir: './dist', + emptyOutDir: true, + reportCompressedSize: true, + rollupOptions: { + input: { + desktop: join(__dirname, "src", "desktop.ts"), + mobile: join(__dirname, "src", "mobile.ts"), + login: join(__dirname, "src", "login.ts"), + setup: join(__dirname, "src", "setup.ts"), + share: join(__dirname, "src", "share.ts"), + set_password: join(__dirname, "src", "set_password.ts"), + } } }, + commonjsOptions: { + transformMixedEsModules: true, + } })); diff --git a/apps/client/webpack.config.cjs b/apps/client/webpack.config.cjs deleted file mode 100644 index 15a7307ba..000000000 --- a/apps/client/webpack.config.cjs +++ /dev/null @@ -1,116 +0,0 @@ - -const { composePlugins, withNx, withWeb } = require('@nx/webpack'); -const { join } = require('path'); -const CopyPlugin = require('copy-webpack-plugin'); - -module.exports = composePlugins( - withNx({ - tsConfig: join(__dirname, './tsconfig.app.json'), - compiler: "tsc", - main: join(__dirname, "./src/index.ts"), - additionalEntryPoints: [ - { - entryName: "desktop", - entryPath: join(__dirname, "./src/desktop.ts") - }, - { - entryName: "mobile", - entryPath: join(__dirname, "./src/mobile.ts") - }, - { - entryName: "login", - entryPath: join(__dirname, "./src/login.ts") - }, - { - entryName: "setup", - entryPath: join(__dirname, "./src/setup.ts") - }, - { - entryName: "share", - entryPath: join(__dirname, "./src/share.ts") - }, - { - // TriliumNextTODO: integrate set_password into setup entry point/view - entryName: "set_password", - entryPath: join(__dirname, "./src/set_password.ts") - } - ], - externalDependencies: [ - "electron" - ], - baseHref: '/', - outputHashing: false, - optimization: process.env['NODE_ENV'] === 'production' - }), - withWeb({ - styles: [], - stylePreprocessorOptions: { - sassOptions: { - quietDeps: true - } - }, - }), - (config) => { - config.output = { - path: join(__dirname, 'dist') - }; - - config.devServer = { - port: 4200, - client: { - overlay: { - errors: true, - warnings: false, - runtimeErrors: true - } - } - } - - config.resolve.fallback = { - path: false, - fs: false, - util: false - }; - - const assets = [ "assets", "stylesheets", "libraries", "fonts", "translations" ] - config.plugins.push(new CopyPlugin({ - patterns: assets.map((asset) => ({ - from: join(__dirname, "src", asset), - to: asset - })) - })); - - inlineSvg(config); - externalJson(config); - - return config; - } -); - -function inlineSvg(config) { - if (!config.module?.rules) { - return; - } - - // Alter Nx's asset rule to avoid inlining SVG if they have ?raw prepended. - const existingRule = config.module.rules.find((r) => r.test.toString() === /\.svg$/.toString()); - existingRule.resourceQuery = { not: [/raw/] }; - - // Add a rule for prepending ?raw SVGs. - config.module.rules.push({ - resourceQuery: /raw/, - type: 'asset/source', - }); -} - -function externalJson(config) { - if (!config.module?.rules) { - return; - } - - // Add a rule for prepending ?external. - config.module.rules.push({ - resourceQuery: /external/, - type: 'asset/resource', - }); -} \ No newline at end of file diff --git a/package.json b/package.json index 0bf8c848c..871e7998b 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "eslint": "^9.8.0", "eslint-config-prettier": "^10.0.0", "eslint-plugin-playwright": "^2.0.0", + "happy-dom": "~9.20.3", "jiti": "2.4.2", "jsdom": "~26.1.0", "jsonc-eslint-parser": "^2.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index afc2a604b..1fee784b9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -116,6 +116,9 @@ importers: eslint-plugin-playwright: specifier: ^2.0.0 version: 2.2.0(eslint@9.26.0(jiti@2.4.2)) + happy-dom: + specifier: ~9.20.3 + version: 9.20.3 jiti: specifier: 2.4.2 version: 2.4.2 @@ -157,7 +160,7 @@ importers: version: 4.5.4(@types/node@22.15.18)(rollup@4.40.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1)) vitest: specifier: ^3.0.0 - version: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@17.4.7)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) + version: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@9.20.3)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) webpack-cli: specifier: ^6.0.0 version: 6.0.1(webpack@5.98.0) @@ -308,7 +311,7 @@ importers: version: 19.1.5(@types/react@19.1.4) copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) happy-dom: specifier: 17.4.7 version: 17.4.7 @@ -394,7 +397,7 @@ importers: version: 1.0.2 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) electron: specifier: 36.2.1 version: 36.2.1 @@ -447,7 +450,7 @@ importers: version: 11.0.4 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) electron: specifier: 36.2.1 version: 36.2.1 @@ -619,7 +622,7 @@ importers: version: 1.4.7 copy-webpack-plugin: specifier: 13.0.0 - version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) csrf-csrf: specifier: 3.2.2 version: 3.2.2 @@ -790,7 +793,7 @@ importers: version: 1.0.1 webpack: specifier: 5.99.8 - version: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) ws: specifier: 8.18.2 version: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -842,7 +845,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -902,7 +905,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -962,7 +965,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1023,13 +1026,13 @@ importers: version: 43.0.1(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.8.3) '@ckeditor/ckeditor5-dev-utils': specifier: 43.0.1 - version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1096,7 +1099,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -7066,6 +7069,9 @@ packages: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -8744,6 +8750,9 @@ packages: resolution: {integrity: sha512-NZypxadhCiV5NT4A+Y86aQVVKQ05KDmueja3sz008uJfDRwz028wd0aTiJPwo4RQlvlz0fznkEEBBCHVNWc08g==} engines: {node: '>=18.0.0'} + happy-dom@9.20.3: + resolution: {integrity: sha512-eBsgauT435fXFvQDNcmm5QbGtYzxEzOaX35Ia+h6yP/wwa4xSWZh1CfP+mGby8Hk6Xu59mTkpyf72rUXHNxY7A==} + harmony-reflect@1.6.2: resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} @@ -15410,11 +15419,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': + '@ckeditor/ckeditor5-dev-translations@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': dependencies: '@babel/parser': 7.27.0 '@babel/traverse': 7.27.0 - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) chalk: 5.4.1 fs-extra: 11.3.0 glob: 10.4.5 @@ -15432,58 +15441,58 @@ snapshots: - uglify-js - webpack - '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': + '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': dependencies: '@ckeditor/ckeditor5-dev-translations': 43.0.1 chalk: 3.0.0 cli-cursor: 3.1.0 cli-spinners: 2.9.2 - css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) cssnano: 6.1.2(postcss@8.5.3) del: 5.1.0 - esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) fs-extra: 11.3.0 is-interactive: 1.0.0 javascript-stringify: 1.6.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) mocha: 7.2.0 postcss: 8.5.3 postcss-import: 14.1.0(postcss@8.5.3) - postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) postcss-mixins: 9.0.4(postcss@8.5.3) postcss-nesting: 13.0.1(postcss@8.5.3) - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) shelljs: 0.8.5 - style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) through2: 3.0.2 transitivePeerDependencies: - bluebird - supports-color - webpack - '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': + '@ckeditor/ckeditor5-dev-utils@45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) chalk: 5.4.1 cli-cursor: 5.0.0 cli-spinners: 3.2.0 - css-loader: 7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + css-loader: 7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) cssnano: 7.0.6(postcss@8.5.3) - esbuild-loader: 4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + esbuild-loader: 4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) fs-extra: 11.3.0 is-interactive: 2.0.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) mocha: 10.8.2 postcss: 8.5.3 postcss-import: 16.1.0(postcss@8.5.3) - postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + postcss-loader: 8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) postcss-mixins: 11.0.3(postcss@8.5.3) postcss-nesting: 13.0.1(postcss@8.5.3) - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) shelljs: 0.8.5 - style-loader: 4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + style-loader: 4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) through2: 4.0.2 transitivePeerDependencies: - '@rspack/core' @@ -15764,29 +15773,29 @@ snapshots: '@ckeditor/ckeditor5-utils': 45.1.0 ckeditor5: 45.1.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))': + '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)': dependencies: - '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) buffer: 6.0.3 chalk: 5.4.1 - css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) fs-extra: 11.3.0 glob: 7.2.3 minimist: 1.2.8 postcss: 8.5.3 - postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) process: 0.11.10 - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) stylelint: 16.19.1(typescript@5.0.4) stylelint-config-ckeditor5: 2.0.1(stylelint@16.19.1(typescript@5.8.3)) - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + ts-loader: 9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) ts-node: 10.9.2(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(typescript@5.0.4) typescript: 5.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) - webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -16403,7 +16412,7 @@ snapshots: make-fetch-happen: 10.2.1 nopt: 6.0.0 proc-log: 2.0.1 - semver: 7.7.1 + semver: 7.7.2 tar: 6.2.1 which: 2.0.2 transitivePeerDependencies: @@ -17916,7 +17925,7 @@ snapshots: '@npmcli/fs@2.1.2': dependencies: '@gar/promisify': 1.1.3 - semver: 7.7.1 + semver: 7.7.2 '@npmcli/fs@4.0.0': dependencies: @@ -18190,7 +18199,7 @@ snapshots: semver: 7.7.1 tsconfig-paths: 4.2.0 vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) - vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@17.4.7)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) + vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@9.20.3)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -20224,7 +20233,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@17.4.7)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) + vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@9.20.3)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) optionalDependencies: '@vitest/browser': 3.1.3(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(playwright@1.52.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@3.1.3)(webdriverio@9.14.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) transitivePeerDependencies: @@ -21784,14 +21793,14 @@ snapshots: serialize-javascript: 6.0.2 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - copy-webpack-plugin@13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + copy-webpack-plugin@13.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.2 serialize-javascript: 6.0.2 tinyglobby: 0.2.13 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) core-js-compat@3.41.0: dependencies: @@ -21904,7 +21913,7 @@ snapshots: css-functions-list@3.2.3: {} - css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: icss-utils: 5.1.0(postcss@8.5.3) loader-utils: 2.0.4 @@ -21916,7 +21925,7 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.7.1 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) css-loader@6.11.0(webpack@5.98.0): dependencies: @@ -21931,7 +21940,7 @@ snapshots: optionalDependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - css-loader@7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + css-loader@7.1.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: icss-utils: 5.1.0(postcss@8.5.3) postcss: 8.5.3 @@ -21942,7 +21951,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.2 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) css-minimizer-webpack-plugin@5.0.1(esbuild@0.25.4)(webpack@5.98.0): dependencies: @@ -21998,6 +22007,8 @@ snapshots: css-what@6.1.0: {} + css.escape@1.5.1: {} + cssesc@3.0.0: {} cssnano-preset-default@5.2.14(postcss@8.5.3): @@ -22984,20 +22995,20 @@ snapshots: es6-promise@4.2.8: {} - esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: esbuild: 0.17.19 get-tsconfig: 4.10.0 loader-utils: 2.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-sources: 1.4.3 - esbuild-loader@4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + esbuild-loader@4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: esbuild: 0.25.3 get-tsconfig: 4.10.0 loader-utils: 2.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-sources: 1.4.3 esbuild@0.17.19: @@ -24169,6 +24180,15 @@ snapshots: webidl-conversions: 7.0.0 whatwg-mimetype: 3.0.0 + happy-dom@9.20.3: + dependencies: + css.escape: 1.5.1 + entities: 4.5.0 + iconv-lite: 0.6.3 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + harmony-reflect@1.6.2: {} has-bigints@1.1.0: {} @@ -26021,10 +26041,10 @@ snapshots: schema-utils: 4.3.2 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: schema-utils: 4.3.2 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) minimalistic-assert@1.0.1: {} @@ -27127,7 +27147,7 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.3 - postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -27135,7 +27155,7 @@ snapshots: postcss: 8.5.3 schema-utils: 3.3.0 semver: 7.7.1 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) postcss-loader@6.2.1(postcss@8.5.3)(webpack@5.98.0): dependencies: @@ -27145,14 +27165,14 @@ snapshots: semver: 7.7.1 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + postcss-loader@8.1.1(postcss@8.5.3)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: cosmiconfig: 9.0.0(typescript@5.0.4) jiti: 1.21.7 postcss: 8.5.3 semver: 7.7.2 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) transitivePeerDependencies: - typescript @@ -27733,11 +27753,11 @@ snapshots: raw-loader@0.5.1: {} - raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) rc@1.2.8: dependencies: @@ -28953,19 +28973,19 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 5.4.2 - style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) style-loader@3.3.4(webpack@5.98.0): dependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - style-loader@4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + style-loader@4.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) style-mod@4.1.2: {} @@ -29326,7 +29346,7 @@ snapshots: rimraf: 2.6.3 optional: true - terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -29336,7 +29356,7 @@ snapshots: serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.39.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-sources: 1.4.3 transitivePeerDependencies: - bluebird @@ -29353,14 +29373,14 @@ snapshots: '@swc/core': 1.11.24(@swc/helpers@0.5.17) esbuild: 0.25.4 - terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.39.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) optionalDependencies: '@swc/core': 1.11.24(@swc/helpers@0.5.17) esbuild: 0.25.4 @@ -29518,7 +29538,7 @@ snapshots: ts-dedent@2.2.0: {} - ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + ts-loader@9.5.2(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.18.1 @@ -29526,7 +29546,7 @@ snapshots: semver: 7.7.1 source-map: 0.7.4 typescript: 5.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) ts-loader@9.5.2(typescript@5.8.3)(webpack@5.98.0): dependencies: @@ -30075,6 +30095,50 @@ snapshots: - tsx - yaml + vitest@3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@9.20.3)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1): + dependencies: + '@vitest/expect': 3.1.3 + '@vitest/mocker': 3.1.3(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1)) + '@vitest/pretty-format': 3.1.3 + '@vitest/runner': 3.1.3 + '@vitest/snapshot': 3.1.3 + '@vitest/spy': 3.1.3 + '@vitest/utils': 3.1.3 + chai: 5.2.0 + debug: 4.4.1(supports-color@8.1.1) + expect-type: 1.2.1 + magic-string: 0.30.17 + pathe: 2.0.3 + std-env: 3.9.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.13 + tinypool: 1.0.2 + tinyrainbow: 2.0.0 + vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) + vite-node: 3.1.3(@types/node@22.15.18)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/debug': 4.1.12 + '@types/node': 22.15.18 + '@vitest/browser': 3.1.3(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(playwright@1.52.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1))(vitest@3.1.3)(webdriverio@9.14.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/ui': 3.1.3(vitest@3.1.3) + happy-dom: 9.20.3 + jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + vscode-jsonrpc@8.2.0: {} vscode-languageserver-protocol@3.17.5: @@ -30230,7 +30294,7 @@ snapshots: optionalDependencies: webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - webpack-dev-middleware@7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + webpack-dev-middleware@7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: colorette: 2.0.20 memfs: 4.17.0 @@ -30239,46 +30303,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.2 optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) - - webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.21 - '@types/express-serve-static-core': 4.19.6 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.7 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.0 - connect-history-api-fallback: 2.0.0 - express: 4.21.2 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.21) - ipaddr.js: 2.2.0 - launch-editor: 2.10.0 - open: 10.1.1 - p-retry: 6.2.1 - schema-utils: 4.3.2 - selfsigned: 2.4.1 - serve-index: 1.9.1 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) - ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) - optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) - webpack-cli: 6.0.1(webpack@5.98.0) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.98.0): dependencies: @@ -30319,6 +30344,45 @@ snapshots: - supports-color - utf-8-validate + webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/express-serve-static-core': 4.19.6 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.7 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.0 + connect-history-api-fallback: 2.0.0 + express: 4.21.2 + graceful-fs: 4.2.11 + http-proxy-middleware: 2.0.9(@types/express@4.17.21) + ipaddr.js: 2.2.0 + launch-editor: 2.10.0 + open: 10.1.1 + p-retry: 6.2.1 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) + optionalDependencies: + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.98.0) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + webpack-merge@6.0.1: dependencies: clone-deep: 4.0.1 @@ -30376,7 +30440,7 @@ snapshots: - esbuild - uglify-js - webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)): + webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.7 @@ -30399,7 +30463,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: From e23400bec1ed712139b6e886d619058ddf19401b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 21:06:21 +0300 Subject: [PATCH 02/65] fix(client/vite): build errors due to mark.js --- apps/client/package.json | 3 +- apps/client/src/types-assets.d.ts | 2 - apps/client/src/widgets/find_in_html.ts | 4 +- .../widgets/view_widgets/list_or_grid_view.ts | 2 +- pnpm-lock.yaml | 218 +++++++++++++----- 5 files changed, 162 insertions(+), 67 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 8f396cde4..773a27a05 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -22,8 +22,8 @@ "@mind-elixir/node-menu": "1.0.5", "@popperjs/core": "2.11.8", "@triliumnext/ckeditor5": "workspace:*", - "@triliumnext/commons": "workspace:*", "@triliumnext/codemirror": "workspace:*", + "@triliumnext/commons": "workspace:*", "bootstrap": "5.3.6", "dayjs": "1.11.13", "dayjs-plugin-utc": "0.1.2", @@ -57,6 +57,7 @@ "@types/jquery": "3.5.32", "@types/leaflet": "1.9.17", "@types/leaflet-gpx": "1.3.7", + "@types/mark.js": "8.11.12", "@types/react": "19.1.4", "@types/react-dom": "19.1.5", "copy-webpack-plugin": "13.0.0", diff --git a/apps/client/src/types-assets.d.ts b/apps/client/src/types-assets.d.ts index 61242b04e..36e38fcb3 100644 --- a/apps/client/src/types-assets.d.ts +++ b/apps/client/src/types-assets.d.ts @@ -7,5 +7,3 @@ declare module "*.json?external" { var path: string; export default path; } - -declare module "script-loader!mark.js/dist/jquery.mark.min.js"; diff --git a/apps/client/src/widgets/find_in_html.ts b/apps/client/src/widgets/find_in_html.ts index e4d47e623..fcbc35173 100644 --- a/apps/client/src/widgets/find_in_html.ts +++ b/apps/client/src/widgets/find_in_html.ts @@ -21,7 +21,7 @@ export default class FindInHtml { } async performFind(searchTerm: string, matchCase: boolean, wholeWord: boolean) { - await import("script-loader!mark.js/dist/jquery.mark.min.js"); + await import("mark.js"); const $content = await this.parent?.noteContext?.getContentElement(); @@ -42,7 +42,7 @@ export default class FindInHtml { const containerTop = scrollingContainer?.getBoundingClientRect().top ?? 0; const closestIndex = this.$results.toArray().findIndex(el => el.getBoundingClientRect().top >= containerTop); this.currentIndex = closestIndex >= 0 ? closestIndex : 0; - + await this.jumpTo(); res({ diff --git a/apps/client/src/widgets/view_widgets/list_or_grid_view.ts b/apps/client/src/widgets/view_widgets/list_or_grid_view.ts index 7733a0d05..e01fd0c4c 100644 --- a/apps/client/src/widgets/view_widgets/list_or_grid_view.ts +++ b/apps/client/src/widgets/view_widgets/list_or_grid_view.ts @@ -215,7 +215,7 @@ class ListOrGridView extends ViewMode { const highlightedTokens = this.parentNote.highlightedTokens || []; if (highlightedTokens.length > 0) { - await import("script-loader!mark.js/dist/jquery.mark.min.js"); + await import("mark.js"); const regex = highlightedTokens.map((token) => utils.escapeRegExp(token)).join("|"); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1fee784b9..22b41930c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -303,6 +303,9 @@ importers: '@types/leaflet-gpx': specifier: 1.3.7 version: 1.3.7 + '@types/mark.js': + specifier: 8.11.12 + version: 8.11.12 '@types/react': specifier: 19.1.4 version: 19.1.4 @@ -845,7 +848,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -905,7 +908,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -965,7 +968,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1026,13 +1029,13 @@ importers: version: 43.0.1(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.8.3) '@ckeditor/ckeditor5-dev-utils': specifier: 43.0.1 - version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + version: 43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) '@ckeditor/ckeditor5-inspector': specifier: '>=4.1.0' version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -1099,7 +1102,7 @@ importers: version: 4.1.0 '@ckeditor/ckeditor5-package-tools': specifier: ^3.0.1 - version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1) + version: 3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0)) '@typescript-eslint/eslint-plugin': specifier: ~8.32.0 version: 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) @@ -5283,6 +5286,9 @@ packages: '@types/lodash@4.17.16': resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==} + '@types/mark.js@8.11.12': + resolution: {integrity: sha512-244ZnaIBpz4c6xutliAnYVZp6xJlmC569jZqnR3ElO1Y01ooYASSVQEqpd2x0A2UfrgVMs5V9/9tUAdZaDMytQ==} + '@types/marked@4.3.2': resolution: {integrity: sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w==} @@ -15441,30 +15447,30 @@ snapshots: - uglify-js - webpack - '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1))': + '@ckeditor/ckeditor5-dev-utils@43.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)))': dependencies: '@ckeditor/ckeditor5-dev-translations': 43.0.1 chalk: 3.0.0 cli-cursor: 3.1.0 cli-spinners: 2.9.2 - css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + css-loader: 5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) cssnano: 6.1.2(postcss@8.5.3) del: 5.1.0 - esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + esbuild-loader: 3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) fs-extra: 11.3.0 is-interactive: 1.0.0 javascript-stringify: 1.6.0 - mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + mini-css-extract-plugin: 2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) mocha: 7.2.0 postcss: 8.5.3 postcss-import: 14.1.0(postcss@8.5.3) - postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) postcss-mixins: 9.0.4(postcss@8.5.3) postcss-nesting: 13.0.1(postcss@8.5.3) - raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + raw-loader: 4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) shelljs: 0.8.5 - style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + style-loader: 2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + terser-webpack-plugin: 4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) through2: 3.0.2 transitivePeerDependencies: - bluebird @@ -15773,7 +15779,7 @@ snapshots: '@ckeditor/ckeditor5-utils': 45.1.0 ckeditor5: 45.1.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)': + '@ckeditor/ckeditor5-package-tools@3.0.1(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(bufferutil@4.0.9)(esbuild@0.25.4)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))': dependencies: '@ckeditor/ckeditor5-dev-translations': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) '@ckeditor/ckeditor5-dev-utils': 45.0.10(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(typescript@5.0.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) @@ -15795,7 +15801,7 @@ snapshots: ts-node: 10.9.2(@swc/core@1.11.24(@swc/helpers@0.5.17))(@types/node@22.15.18)(typescript@5.0.4) typescript: 5.0.4 webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + webpack-dev-server: 5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -19805,6 +19811,10 @@ snapshots: '@types/lodash@4.17.16': {} + '@types/mark.js@8.11.12': + dependencies: + '@types/jquery': 3.5.32 + '@types/marked@4.3.2': {} '@types/mdast@3.0.15': @@ -20192,7 +20202,7 @@ snapshots: magic-string: 0.30.17 sirv: 3.0.1 tinyrainbow: 2.0.0 - vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@17.4.7)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) + vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@9.20.3)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: playwright: 1.52.0 @@ -20283,7 +20293,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.13 tinyrainbow: 2.0.0 - vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@17.4.7)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) + vitest: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@9.20.3)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.18)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) '@vitest/utils@3.1.3': dependencies: @@ -21913,6 +21923,20 @@ snapshots: css-functions-list@3.2.3: {} + css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + dependencies: + icss-utils: 5.1.0(postcss@8.5.3) + loader-utils: 2.0.4 + postcss: 8.5.3 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.3) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.3) + postcss-modules-scope: 3.2.1(postcss@8.5.3) + postcss-modules-values: 4.0.0(postcss@8.5.3) + postcss-value-parser: 4.2.0 + schema-utils: 3.3.0 + semver: 7.7.1 + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + css-loader@5.2.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: icss-utils: 5.1.0(postcss@8.5.3) @@ -22995,12 +23019,12 @@ snapshots: es6-promise@4.2.8: {} - esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + esbuild-loader@3.0.1(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: esbuild: 0.17.19 get-tsconfig: 4.10.0 loader-utils: 2.0.4 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-sources: 1.4.3 esbuild-loader@4.3.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): @@ -26041,6 +26065,11 @@ snapshots: schema-utils: 4.3.2 webpack: 5.98.0(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + dependencies: + schema-utils: 4.3.2 + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + mini-css-extract-plugin@2.4.7(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: schema-utils: 4.3.2 @@ -27147,6 +27176,16 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.3 + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + dependencies: + cosmiconfig: 7.1.0 + klona: 2.0.6 + loader-utils: 2.0.4 + postcss: 8.5.3 + schema-utils: 3.3.0 + semver: 7.7.1 + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: cosmiconfig: 7.1.0 @@ -27753,6 +27792,12 @@ snapshots: raw-loader@0.5.1: {} + raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + raw-loader@4.0.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: loader-utils: 2.0.4 @@ -28973,6 +29018,12 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 5.4.2 + style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + style-loader@2.0.0(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: loader-utils: 2.0.4 @@ -29346,7 +29397,7 @@ snapshots: rimraf: 2.6.3 optional: true - terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + terser-webpack-plugin@4.2.3(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): dependencies: cacache: 15.3.0 find-cache-dir: 3.3.2 @@ -29356,7 +29407,7 @@ snapshots: serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.39.0 - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) webpack-sources: 1.4.3 transitivePeerDependencies: - bluebird @@ -29373,6 +29424,18 @@ snapshots: '@swc/core': 1.11.24(@swc/helpers@0.5.17) esbuild: 0.25.4 + terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + terser: 5.39.0 + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)) + optionalDependencies: + '@swc/core': 1.11.24(@swc/helpers@0.5.17) + esbuild: 0.25.4 + terser-webpack-plugin@5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -30305,6 +30368,45 @@ snapshots: optionalDependencies: webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1(webpack@5.98.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/express-serve-static-core': 4.19.6 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.7 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.0 + connect-history-api-fallback: 2.0.0 + express: 4.21.2 + graceful-fs: 4.2.11 + http-proxy-middleware: 2.0.9(@types/express@4.17.21) + ipaddr.js: 2.2.0 + launch-editor: 2.10.0 + open: 10.1.1 + p-retry: 6.2.1 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) + optionalDependencies: + webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) + webpack-cli: 6.0.1(webpack@5.98.0) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.98.0): dependencies: '@types/bonjour': 3.5.13 @@ -30344,45 +30446,6 @@ snapshots: - supports-color - utf-8-validate - webpack-dev-server@5.2.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack-cli@6.0.1)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.21 - '@types/express-serve-static-core': 4.19.6 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.7 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.0 - connect-history-api-fallback: 2.0.0 - express: 4.21.2 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.21) - ipaddr.js: 2.2.0 - launch-editor: 2.10.0 - open: 10.1.1 - p-retry: 6.2.1 - schema-utils: 4.3.2 - selfsigned: 2.4.1 - serve-index: 1.9.1 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1)) - ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5) - optionalDependencies: - webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1) - webpack-cli: 6.0.1(webpack@5.98.0) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - webpack-merge@6.0.1: dependencies: clone-deep: 4.0.1 @@ -30440,6 +30503,39 @@ snapshots: - esbuild - uglify-js + webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0)): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.7 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.14.1 + browserslist: 4.24.4 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.1 + es-module-lexer: 1.7.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.2 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.14(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1(webpack@5.98.0))) + watchpack: 2.4.2 + webpack-sources: 3.2.3 + optionalDependencies: + webpack-cli: 6.0.1(webpack@5.98.0) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.4)(webpack-cli@6.0.1): dependencies: '@types/eslint-scope': 3.7.7 From 4d2ae6a34fcab18b92a3c1e16424e0cbe7fc17a8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 21:06:30 +0300 Subject: [PATCH 03/65] fix(client/vite): build errors due to top-level async --- apps/client/vite.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts index f1bc58069..3b578609d 100644 --- a/apps/client/vite.config.ts +++ b/apps/client/vite.config.ts @@ -19,6 +19,7 @@ export default defineConfig(() => ({ // plugins: [ nxViteTsPaths() ], // }, build: { + target: "esnext", outDir: './dist', emptyOutDir: true, reportCompressedSize: true, From 6ccfa0940f9aac98a8de3703d5dde1b80a142a1c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 21:11:03 +0300 Subject: [PATCH 04/65] fix(client/vite): runtime error due to chunk name --- apps/client/vite.config.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts index 3b578609d..dfc3e6083 100644 --- a/apps/client/vite.config.ts +++ b/apps/client/vite.config.ts @@ -31,6 +31,11 @@ export default defineConfig(() => ({ setup: join(__dirname, "src", "setup.ts"), share: join(__dirname, "src", "share.ts"), set_password: join(__dirname, "src", "set_password.ts"), + }, + output: { + entryFileNames: "[name].js", + chunkFileNames: "[name].js", + assetFileNames: "[name].js" } } }, From e28a64a037d8fe2573372ef9803a9cf461b17f86 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 21:31:57 +0300 Subject: [PATCH 05/65] fix(client/vite): handle static assets --- apps/client/package.json | 3 ++- apps/client/vite.config.ts | 12 +++++++++++- pnpm-lock.yaml | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 773a27a05..c98f45bbc 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -62,7 +62,8 @@ "@types/react-dom": "19.1.5", "copy-webpack-plugin": "13.0.0", "happy-dom": "17.4.7", - "script-loader": "0.7.2" + "script-loader": "0.7.2", + "vite-plugin-static-copy": "3.0.0" }, "nx": { "name": "client" diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts index dfc3e6083..83bc0a6fc 100644 --- a/apps/client/vite.config.ts +++ b/apps/client/vite.config.ts @@ -1,6 +1,9 @@ /// import { join } from 'path'; import { defineConfig } from 'vite'; +import { viteStaticCopy } from 'vite-plugin-static-copy' + +const assets = [ "assets", "stylesheets", "libraries", "fonts", "translations" ]; export default defineConfig(() => ({ root: __dirname, @@ -13,7 +16,14 @@ export default defineConfig(() => ({ port: 4300, host: 'localhost', }, - plugins: [], + plugins: [ + viteStaticCopy({ + targets: assets.map((asset) => ({ + src: `src/${asset}/**/*`, + dest: asset + })) + }) + ], // Uncomment this if you are using workers. // worker: { // plugins: [ nxViteTsPaths() ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 22b41930c..0b000f917 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -321,6 +321,9 @@ importers: script-loader: specifier: 0.7.2 version: 0.7.2 + vite-plugin-static-copy: + specifier: 3.0.0 + version: 3.0.0(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1)) apps/db-compare: dependencies: @@ -13750,6 +13753,12 @@ packages: vite: optional: true + vite-plugin-static-copy@3.0.0: + resolution: {integrity: sha512-Uki9pPUQ4ZnoMEdIFabvoh9h6Bh9Q1m3iF7BrZvoiF30reREpJh2gZb4jOnW1/uYFzyRiLCmFSkM+8hwiq1vWQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vite-plugin-svgo@2.0.0: resolution: {integrity: sha512-WaiOUlmt1fKw1w/WWJnx9gVk42D1BASKZmGCPpy6iTLE5iIemN2lim3MwI7Rffyt3aQnPrLfLSLnI8ZUJ9s49g==} peerDependencies: @@ -30072,6 +30081,15 @@ snapshots: - rollup - supports-color + vite-plugin-static-copy@3.0.0(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1)): + dependencies: + chokidar: 3.6.0 + fs-extra: 11.3.0 + p-map: 7.0.3 + picocolors: 1.1.1 + tinyglobby: 0.2.13 + vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1) + vite-plugin-svgo@2.0.0(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.7.1)): dependencies: svgo: 3.3.2 From d4dbe1cb89869c886622ef536a17b5da9abee166 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 22:10:02 +0300 Subject: [PATCH 06/65] fix(server): proxying of inner client modules --- apps/client/vite.config.ts | 1 + apps/server/src/routes/assets.ts | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts index 83bc0a6fc..e22f9e184 100644 --- a/apps/client/vite.config.ts +++ b/apps/client/vite.config.ts @@ -7,6 +7,7 @@ const assets = [ "assets", "stylesheets", "libraries", "fonts", "translations" ] export default defineConfig(() => ({ root: __dirname, + base: "/assets/v0.94.0/app/", cacheDir: '../../node_modules/.vite/apps/client', server: { port: 4200, diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index d41b4a4a9..10cb796f0 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -29,7 +29,16 @@ async function register(app: express.Application) { throw new Error("Missing TRILIUM_PUBLIC_SERVER"); } - const clientProxy = proxy(publicUrl); + const clientProxy = proxy(publicUrl, { + proxyReqPathResolver: (req) => { + let url = req.url; + url = url.replace(/^\/src/, "/"); + url = "/assets/v0.94.0/app/src" + url; + url = url.replace(/.js$/, ".ts"); + console.log(`${req.url} => ${publicUrl}${url}`); + return url; + } + }); app.use(`/${assetPath}/app/doc_notes`, persistentCacheStatic(path.join(srcRoot, "assets", "doc_notes"))); app.use(`/${assetPath}/app`, clientProxy); app.use(`/${assetPath}/app-dist`, clientProxy); From 1d675538a8a8cf36a1d7a681f84cefa89cb19b78 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 22:24:12 +0300 Subject: [PATCH 07/65] refactor(server): improve script URL rewriting --- apps/server/src/routes/assets.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 10cb796f0..0f35839b1 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -32,8 +32,8 @@ async function register(app: express.Application) { const clientProxy = proxy(publicUrl, { proxyReqPathResolver: (req) => { let url = req.url; - url = url.replace(/^\/src/, "/"); - url = "/assets/v0.94.0/app/src" + url; + url = url.replace(/^\/src/, ""); + url = `/${assetPath}/app/src${url}`; url = url.replace(/.js$/, ".ts"); console.log(`${req.url} => ${publicUrl}${url}`); return url; From ac79ae29f2257e50abcc7dc6573cf68ebb08ff05 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 22:27:01 +0300 Subject: [PATCH 08/65] refactor(server): fix stylesheet paths --- apps/server/src/routes/assets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 0f35839b1..9a0010f93 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -43,7 +43,7 @@ async function register(app: express.Application) { app.use(`/${assetPath}/app`, clientProxy); app.use(`/${assetPath}/app-dist`, clientProxy); app.use(`/${assetPath}/stylesheets`, proxy(publicUrl, { - proxyReqPathResolver: (req) => "/stylesheets" + req.url + proxyReqPathResolver: (req) => `/${assetPath}/app/src/stylesheets/${req.url}` })); app.use(`/${assetPath}/libraries`, proxy(publicUrl, { proxyReqPathResolver: (req) => "/libraries" + req.url From ae2eb9f4bbd82146fa017ea0ebaf75a89ad7a9ec Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 22:39:52 +0300 Subject: [PATCH 09/65] refactor(server): fix script dir for libraries --- apps/server/src/routes/assets.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 9a0010f93..ddb57bd9c 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -33,7 +33,10 @@ async function register(app: express.Application) { proxyReqPathResolver: (req) => { let url = req.url; url = url.replace(/^\/src/, ""); - url = `/${assetPath}/app/src${url}`; + if (!url.startsWith("/@")) { + url = "/src" + url; + } + url = `/${assetPath}/app${url}`; url = url.replace(/.js$/, ".ts"); console.log(`${req.url} => ${publicUrl}${url}`); return url; From d3488ca96ad0fa8a309112a0fd39dcee92435b03 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 22:55:49 +0300 Subject: [PATCH 10/65] refactor(server): fix vite runtime not proxied --- apps/server/src/routes/assets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index ddb57bd9c..c0428f049 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -37,7 +37,7 @@ async function register(app: express.Application) { url = "/src" + url; } url = `/${assetPath}/app${url}`; - url = url.replace(/.js$/, ".ts"); + url = url.replace(/\.js$/, ".ts"); console.log(`${req.url} => ${publicUrl}${url}`); return url; } From 390b384936e7b25156b9a2e78f568cfcb0b1368b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 16 May 2025 22:56:00 +0300 Subject: [PATCH 11/65] refactor(server): remove unnecessary script --- apps/server/src/assets/views/desktop.ejs | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/server/src/assets/views/desktop.ejs b/apps/server/src/assets/views/desktop.ejs index b0de6cf88..1e7112e78 100644 --- a/apps/server/src/assets/views/desktop.ejs +++ b/apps/server/src/assets/views/desktop.ejs @@ -68,7 +68,6 @@ $("body").show(); - From dd73517e7f6e173a19ee7dddd35c246f8be104ed Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 00:05:42 +0300 Subject: [PATCH 12/65] fix(server): some assets not served properly --- apps/server/src/routes/assets.ts | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index c0428f049..57f511663 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -42,21 +42,20 @@ async function register(app: express.Application) { return url; } }); + + function buildAssetProxy(name: string) { + return proxy(publicUrl!, { + proxyReqPathResolver: (req) => `/${assetPath}/app/src/${name}/${req.url}` + }); + } + app.use(`/${assetPath}/app/doc_notes`, persistentCacheStatic(path.join(srcRoot, "assets", "doc_notes"))); app.use(`/${assetPath}/app`, clientProxy); app.use(`/${assetPath}/app-dist`, clientProxy); - app.use(`/${assetPath}/stylesheets`, proxy(publicUrl, { - proxyReqPathResolver: (req) => `/${assetPath}/app/src/stylesheets/${req.url}` - })); - app.use(`/${assetPath}/libraries`, proxy(publicUrl, { - proxyReqPathResolver: (req) => "/libraries" + req.url - })); - app.use(`/${assetPath}/fonts`, proxy(publicUrl, { - proxyReqPathResolver: (req) => "/fonts" + req.url - })); - app.use(`/${assetPath}/translations`, proxy(publicUrl, { - proxyReqPathResolver: (req) => "/translations" + req.url - })); + app.use(`/${assetPath}/stylesheets`, buildAssetProxy("stylesheets")); + app.use(`/${assetPath}/libraries`, buildAssetProxy("libraries")); + app.use(`/${assetPath}/fonts`, buildAssetProxy("fonts")); + app.use(`/${assetPath}/translations`, buildAssetProxy("translations")); app.use(`/${assetPath}/images`, persistentCacheStatic(path.join(srcRoot, "assets", "images"))); } else { const clientStaticCache = persistentCacheStatic(path.join(resourceDir, "public")); From 83058e91b0f276e2582904cf65d8a7eb4b556a75 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 00:08:49 +0300 Subject: [PATCH 13/65] fix(server): some dist assets not served properly --- apps/server/src/routes/assets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 57f511663..2cf9771f2 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -35,9 +35,9 @@ async function register(app: express.Application) { url = url.replace(/^\/src/, ""); if (!url.startsWith("/@")) { url = "/src" + url; + url = url.replace(/\.js$/, ".ts"); } url = `/${assetPath}/app${url}`; - url = url.replace(/\.js$/, ".ts"); console.log(`${req.url} => ${publicUrl}${url}`); return url; } From b678e4ea28fdfeff2ab6e910fddb160ce122ddfe Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 00:14:20 +0300 Subject: [PATCH 14/65] fix(server): package.json not accessible --- apps/server/src/routes/assets.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 2cf9771f2..a942dec22 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -34,7 +34,9 @@ async function register(app: express.Application) { let url = req.url; url = url.replace(/^\/src/, ""); if (!url.startsWith("/@")) { - url = "/src" + url; + if (!url.startsWith("/package.json")) { + url = "/src" + url; + } url = url.replace(/\.js$/, ".ts"); } url = `/${assetPath}/app${url}`; From cb381d01c1fae482f9b68d6b4a3b53ae71038f11 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 00:23:45 +0300 Subject: [PATCH 15/65] chore(server): remove URL logging to increase performance slightly --- apps/server/src/routes/assets.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index a942dec22..8c7ee4248 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -40,7 +40,6 @@ async function register(app: express.Application) { url = url.replace(/\.js$/, ".ts"); } url = `/${assetPath}/app${url}`; - console.log(`${req.url} => ${publicUrl}${url}`); return url; } }); From 278cdf64f2b042bef4196bfcfb6ccd4cec14bf19 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 00:51:06 +0300 Subject: [PATCH 16/65] feat(server): serve client directly instead of proxying --- apps/client/vite.config.ts | 1 - apps/server/src/routes/assets.ts | 30 -------------------------- apps/server/src/services/app_path.ts | 2 +- apps/server/src/services/asset_path.ts | 5 ++++- 4 files changed, 5 insertions(+), 33 deletions(-) diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts index e22f9e184..83bc0a6fc 100644 --- a/apps/client/vite.config.ts +++ b/apps/client/vite.config.ts @@ -7,7 +7,6 @@ const assets = [ "assets", "stylesheets", "libraries", "fonts", "translations" ] export default defineConfig(() => ({ root: __dirname, - base: "/assets/v0.94.0/app/", cacheDir: '../../node_modules/.vite/apps/client', server: { port: 4200, diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 8c7ee4248..4b32ce5d9 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -28,36 +28,6 @@ async function register(app: express.Application) { if (!publicUrl) { throw new Error("Missing TRILIUM_PUBLIC_SERVER"); } - - const clientProxy = proxy(publicUrl, { - proxyReqPathResolver: (req) => { - let url = req.url; - url = url.replace(/^\/src/, ""); - if (!url.startsWith("/@")) { - if (!url.startsWith("/package.json")) { - url = "/src" + url; - } - url = url.replace(/\.js$/, ".ts"); - } - url = `/${assetPath}/app${url}`; - return url; - } - }); - - function buildAssetProxy(name: string) { - return proxy(publicUrl!, { - proxyReqPathResolver: (req) => `/${assetPath}/app/src/${name}/${req.url}` - }); - } - - app.use(`/${assetPath}/app/doc_notes`, persistentCacheStatic(path.join(srcRoot, "assets", "doc_notes"))); - app.use(`/${assetPath}/app`, clientProxy); - app.use(`/${assetPath}/app-dist`, clientProxy); - app.use(`/${assetPath}/stylesheets`, buildAssetProxy("stylesheets")); - app.use(`/${assetPath}/libraries`, buildAssetProxy("libraries")); - app.use(`/${assetPath}/fonts`, buildAssetProxy("fonts")); - app.use(`/${assetPath}/translations`, buildAssetProxy("translations")); - app.use(`/${assetPath}/images`, persistentCacheStatic(path.join(srcRoot, "assets", "images"))); } else { const clientStaticCache = persistentCacheStatic(path.join(resourceDir, "public")); app.use(`/${assetPath}/app`, clientStaticCache); diff --git a/apps/server/src/services/app_path.ts b/apps/server/src/services/app_path.ts index c0a651a0f..5e14722bf 100644 --- a/apps/server/src/services/app_path.ts +++ b/apps/server/src/services/app_path.ts @@ -1,4 +1,4 @@ import assetPath from "./asset_path.js"; import { isDev } from "./utils.js"; -export default isDev ? assetPath + "/app" : assetPath + "/app-dist"; +export default isDev ? assetPath + "/src" : assetPath + "/app-dist"; diff --git a/apps/server/src/services/asset_path.ts b/apps/server/src/services/asset_path.ts index dd81506cd..014f04f84 100644 --- a/apps/server/src/services/asset_path.ts +++ b/apps/server/src/services/asset_path.ts @@ -1,3 +1,6 @@ import packageJson from "../../package.json" with { type: "json" }; +import { isDev } from "./utils"; -export default `assets/v${packageJson.version}`; +const assetPath = isDev ? `http://localhost:4200` : `assets/v${packageJson.version}`; + +export default assetPath; From 90ee0965c7aeac2cf177891e819c799a6fce62f8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 01:23:50 +0300 Subject: [PATCH 17/65] fix(client): integrate boxicons into client --- apps/client/package.json | 1 + apps/client/src/desktop.ts | 1 + apps/client/src/mobile.ts | 1 + apps/server/package.json | 1 - apps/server/webpack.config.cjs | 2 - pnpm-lock.yaml | 405 +-------------------------------- 6 files changed, 8 insertions(+), 403 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index c98f45bbc..cc03140ba 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -25,6 +25,7 @@ "@triliumnext/codemirror": "workspace:*", "@triliumnext/commons": "workspace:*", "bootstrap": "5.3.6", + "boxicons": "2.1.4", "dayjs": "1.11.13", "dayjs-plugin-utc": "0.1.2", "debounce": "2.2.0", diff --git a/apps/client/src/desktop.ts b/apps/client/src/desktop.ts index 51c69aa70..db7484d9a 100644 --- a/apps/client/src/desktop.ts +++ b/apps/client/src/desktop.ts @@ -11,6 +11,7 @@ import options from "./services/options.js"; import type ElectronRemote from "@electron/remote"; import type Electron from "electron"; import "./stylesheets/bootstrap.scss"; +import "boxicons"; await appContext.earlyInit(); diff --git a/apps/client/src/mobile.ts b/apps/client/src/mobile.ts index 5d88ec1c4..b28dc86ff 100644 --- a/apps/client/src/mobile.ts +++ b/apps/client/src/mobile.ts @@ -2,6 +2,7 @@ import appContext from "./components/app_context.js"; import noteAutocompleteService from "./services/note_autocomplete.js"; import glob from "./services/glob.js"; import "./stylesheets/bootstrap.scss"; +import "boxicons"; glob.setupGlobs(); diff --git a/apps/server/package.json b/apps/server/package.json index 66cc22b53..d1e2e6239 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -43,7 +43,6 @@ "@types/ws": "8.18.1", "@types/xml2js": "0.4.14", "autocomplete.js": "0.38.1", - "boxicons": "2.1.4", "express-http-proxy": "2.1.1", "jquery": "3.7.1", "katex": "0.16.22", diff --git a/apps/server/webpack.config.cjs b/apps/server/webpack.config.cjs index cd5b54994..827942494 100644 --- a/apps/server/webpack.config.cjs +++ b/apps/server/webpack.config.cjs @@ -15,8 +15,6 @@ function buildFilesToCopy() { const nodePaths = [ "@excalidraw/excalidraw/dist/prod/fonts/", "katex/dist", - "boxicons/css", - "boxicons/fonts", "jquery/dist", "jquery-hotkeys", "autocomplete.js/dist", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 690228d8b..6e0c30589 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -212,6 +212,9 @@ importers: bootstrap: specifier: 5.3.6 version: 5.3.6(@popperjs/core@2.11.8) + boxicons: + specifier: 2.1.4 + version: 2.1.4 dayjs: specifier: 1.11.13 version: 1.11.13 @@ -490,7 +493,7 @@ importers: version: 2.1.2(electron@36.2.1) '@excalidraw/excalidraw': specifier: 0.18.0 - version: 0.18.0(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) + version: 0.18.0(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@triliumnext/commons': specifier: workspace:* version: link:../../packages/commons @@ -605,9 +608,6 @@ importers: bindings: specifier: 1.5.0 version: 1.5.0 - boxicons: - specifier: 2.1.4 - version: 2.1.4 chardet: specifier: 2.1.0 version: 2.1.0 @@ -16861,47 +16861,6 @@ snapshots: '@eslint/core': 0.13.0 levn: 0.4.1 - '@excalidraw/excalidraw@0.18.0(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@braintree/sanitize-url': 6.0.2 - '@excalidraw/laser-pointer': 1.3.1 - '@excalidraw/mermaid-to-excalidraw': 1.1.2 - '@excalidraw/random-username': 1.1.0 - '@radix-ui/react-popover': 1.1.6(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-tabs': 1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - browser-fs-access: 0.29.1 - canvas-roundrect-polyfill: 0.0.1 - clsx: 1.1.1 - cross-env: 7.0.3 - es6-promise-pool: 2.5.0 - fractional-indexing: 3.2.0 - fuzzy: 0.1.3 - image-blob-reduce: 3.0.1 - jotai: 2.11.0(@types/react@19.1.4)(react@16.14.0) - jotai-scope: 0.7.2(jotai@2.11.0(@types/react@19.1.4)(react@16.14.0))(react@16.14.0) - lodash.debounce: 4.0.8 - lodash.throttle: 4.1.1 - nanoid: 3.3.3 - open-color: 1.9.1 - pako: 2.0.3 - perfect-freehand: 1.2.0 - pica: 7.1.1 - png-chunk-text: 1.0.0 - png-chunks-encode: 1.0.0 - png-chunks-extract: 1.0.0 - points-on-curve: 1.0.1 - pwacompat: 2.0.17 - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - roughjs: 4.6.4 - sass: 1.51.0 - tunnel-rat: 0.1.2(@types/react@19.1.4)(react@16.14.0) - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - - immer - - supports-color - '@excalidraw/excalidraw@0.18.0(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@braintree/sanitize-url': 6.0.2 @@ -16971,12 +16930,6 @@ snapshots: '@floating-ui/core': 1.6.9 '@floating-ui/utils': 0.2.9 - '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@floating-ui/dom': 1.6.13 - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@floating-ui/dom': 1.6.13 @@ -18451,15 +18404,6 @@ snapshots: '@radix-ui/primitive@1.1.1': {} - '@radix-ui/react-arrow@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-arrow@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -18469,16 +18413,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-collection@1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0) - '@radix-ui/react-context': 1.0.0(react@16.14.0) - '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-slot': 1.0.1(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-collection@1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 @@ -18489,73 +18423,33 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@radix-ui/react-compose-refs@1.0.0(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - react: 16.14.0 - '@radix-ui/react-compose-refs@1.0.0(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 react: 19.1.0 - '@radix-ui/react-compose-refs@1.1.1(@types/react@19.1.4)(react@16.14.0)': - dependencies: - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-compose-refs@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-context@1.0.0(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - react: 16.14.0 - '@radix-ui/react-context@1.0.0(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 react: 19.1.0 - '@radix-ui/react-context@1.1.1(@types/react@19.1.4)(react@16.14.0)': - dependencies: - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-context@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-direction@1.0.0(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - react: 16.14.0 - '@radix-ui/react-direction@1.0.0(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 react: 19.1.0 - '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/primitive': 1.1.1 @@ -18569,29 +18463,12 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-focus-guards@1.1.1(@types/react@19.1.4)(react@16.14.0)': - dependencies: - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-focus-guards@1.1.1(@types/react@19.1.4)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.4)(react@19.1.0) @@ -18603,25 +18480,12 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-id@1.0.0(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - '@radix-ui/react-use-layout-effect': 1.0.0(react@16.14.0) - react: 16.14.0 - '@radix-ui/react-id@1.0.0(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 '@radix-ui/react-use-layout-effect': 1.0.0(react@19.1.0) react: 19.1.0 - '@radix-ui/react-id@1.1.0(@types/react@19.1.4)(react@16.14.0)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-id@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.4)(react@19.1.0) @@ -18629,29 +18493,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-popover@1.1.6(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-id': 1.1.0(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-popper': 1.2.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-slot': 1.1.2(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.1.4)(react@16.14.0) - aria-hidden: 1.2.4 - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - react-remove-scroll: 2.6.3(@types/react@19.1.4)(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-popover@1.1.6(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/primitive': 1.1.1 @@ -18675,24 +18516,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-popper@1.2.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-arrow': 1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-context': 1.1.1(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-use-rect': 1.1.0(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/rect': 1.1.0 - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-popper@1.2.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -18711,16 +18534,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-portal@1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-portal@1.1.4(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -18731,14 +18544,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-presence@1.0.0(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0) - '@radix-ui/react-use-layout-effect': 1.0.0(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-presence@1.0.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 @@ -18747,16 +18552,6 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@radix-ui/react-presence@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.4)(react@16.14.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-presence@1.1.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.4)(react@19.1.0) @@ -18767,13 +18562,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-primitive@1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - '@radix-ui/react-slot': 1.0.1(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-primitive@1.0.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 @@ -18781,15 +18569,6 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@radix-ui/react-slot': 1.1.2(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.1.5(@types/react@19.1.4))(@types/react@19.1.4)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@radix-ui/react-slot': 1.1.2(@types/react@19.1.4)(react@19.1.0) @@ -18799,21 +18578,6 @@ snapshots: '@types/react': 19.1.4 '@types/react-dom': 19.1.5(@types/react@19.1.4) - '@radix-ui/react-roving-focus@1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-collection': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0) - '@radix-ui/react-context': 1.0.0(react@16.14.0) - '@radix-ui/react-direction': 1.0.0(react@16.14.0) - '@radix-ui/react-id': 1.0.0(react@16.14.0) - '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-use-callback-ref': 1.0.0(react@16.14.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-roving-focus@1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 @@ -18829,25 +18593,12 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@radix-ui/react-slot@1.0.1(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - '@radix-ui/react-compose-refs': 1.0.0(react@16.14.0) - react: 16.14.0 - '@radix-ui/react-slot@1.0.1(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 '@radix-ui/react-compose-refs': 1.0.0(react@19.1.0) react: 19.1.0 - '@radix-ui/react-slot@1.1.2(@types/react@19.1.4)(react@16.14.0)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-slot@1.1.2(@types/react@19.1.4)(react@19.1.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.1.4)(react@19.1.0) @@ -18855,20 +18606,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-tabs@1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-context': 1.0.0(react@16.14.0) - '@radix-ui/react-direction': 1.0.0(react@16.14.0) - '@radix-ui/react-id': 1.0.0(react@16.14.0) - '@radix-ui/react-presence': 1.0.0(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-primitive': 1.0.1(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-roving-focus': 1.0.2(react-dom@19.1.0(react@16.14.0))(react@16.14.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@16.14.0) - react: 16.14.0 - react-dom: 19.1.0(react@16.14.0) - '@radix-ui/react-tabs@1.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 @@ -18883,47 +18620,23 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@radix-ui/react-use-callback-ref@1.0.0(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - react: 16.14.0 - '@radix-ui/react-use-callback-ref@1.0.0(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 react: 19.1.0 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.1.4)(react@16.14.0)': - dependencies: - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-controllable-state@1.0.0(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - '@radix-ui/react-use-callback-ref': 1.0.0(react@16.14.0) - react: 16.14.0 - '@radix-ui/react-use-controllable-state@1.0.0(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 '@radix-ui/react-use-callback-ref': 1.0.0(react@19.1.0) react: 19.1.0 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.1.4)(react@16.14.0)': - dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.4)(react@19.1.0) @@ -18931,13 +18644,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.1.4)(react@16.14.0)': - dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.1.4)(react@19.1.0) @@ -18945,35 +18651,17 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-layout-effect@1.0.0(react@16.14.0)': - dependencies: - '@babel/runtime': 7.27.0 - react: 16.14.0 - '@radix-ui/react-use-layout-effect@1.0.0(react@19.1.0)': dependencies: '@babel/runtime': 7.27.0 react: 19.1.0 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.1.4)(react@16.14.0)': - dependencies: - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: react: 19.1.0 optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-rect@1.1.0(@types/react@19.1.4)(react@16.14.0)': - dependencies: - '@radix-ui/rect': 1.1.0 - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-use-rect@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: '@radix-ui/rect': 1.1.0 @@ -18981,13 +18669,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - '@radix-ui/react-use-size@1.1.0(@types/react@19.1.4)(react@16.14.0)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - optionalDependencies: - '@types/react': 19.1.4 - '@radix-ui/react-use-size@1.1.0(@types/react@19.1.4)(react@19.1.0)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.1.4)(react@19.1.0) @@ -24208,7 +23889,7 @@ snapshots: history@4.10.1: dependencies: - '@babel/runtime': 7.27.0 + '@babel/runtime': 7.27.1 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.3.3 @@ -25175,21 +24856,11 @@ snapshots: dependencies: '@panva/asn1.js': 1.0.0 - jotai-scope@0.7.2(jotai@2.11.0(@types/react@19.1.4)(react@16.14.0))(react@16.14.0): - dependencies: - jotai: 2.11.0(@types/react@19.1.4)(react@16.14.0) - react: 16.14.0 - jotai-scope@0.7.2(jotai@2.11.0(@types/react@19.1.4)(react@19.1.0))(react@19.1.0): dependencies: jotai: 2.11.0(@types/react@19.1.4)(react@19.1.0) react: 19.1.0 - jotai@2.11.0(@types/react@19.1.4)(react@16.14.0): - optionalDependencies: - '@types/react': 19.1.4 - react: 16.14.0 - jotai@2.11.0(@types/react@19.1.4)(react@19.1.0): optionalDependencies: '@types/react': 19.1.4 @@ -27747,11 +27418,6 @@ snapshots: react: 16.14.0 scheduler: 0.19.1 - react-dom@19.1.0(react@16.14.0): - dependencies: - react: 16.14.0 - scheduler: 0.26.0 - react-dom@19.1.0(react@19.1.0): dependencies: react: 19.1.0 @@ -27772,14 +27438,6 @@ snapshots: react-refresh@0.17.0: {} - react-remove-scroll-bar@2.3.8(@types/react@19.1.4)(react@16.14.0): - dependencies: - react: 16.14.0 - react-style-singleton: 2.2.3(@types/react@19.1.4)(react@16.14.0) - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.1.4 - react-remove-scroll-bar@2.3.8(@types/react@19.1.4)(react@19.1.0): dependencies: react: 19.1.0 @@ -27788,17 +27446,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - react-remove-scroll@2.6.3(@types/react@19.1.4)(react@16.14.0): - dependencies: - react: 16.14.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.1.4)(react@16.14.0) - react-style-singleton: 2.2.3(@types/react@19.1.4)(react@16.14.0) - tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.1.4)(react@16.14.0) - use-sidecar: 1.1.3(@types/react@19.1.4)(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - react-remove-scroll@2.6.3(@types/react@19.1.4)(react@19.1.0): dependencies: react: 19.1.0 @@ -27831,14 +27478,6 @@ snapshots: react: 16.14.0 warning: 4.0.3 - react-style-singleton@2.2.3(@types/react@19.1.4)(react@16.14.0): - dependencies: - get-nonce: 1.0.1 - react: 16.14.0 - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.1.4 - react-style-singleton@2.2.3(@types/react@19.1.4)(react@19.1.0): dependencies: get-nonce: 1.0.1 @@ -29594,14 +29233,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - tunnel-rat@0.1.2(@types/react@19.1.4)(react@16.14.0): - dependencies: - zustand: 4.5.6(@types/react@19.1.4)(react@16.14.0) - transitivePeerDependencies: - - '@types/react' - - immer - - react - tunnel-rat@0.1.2(@types/react@19.1.4)(react@19.1.0): dependencies: zustand: 4.5.6(@types/react@19.1.4)(react@19.1.0) @@ -29832,13 +29463,6 @@ snapshots: urlpattern-polyfill@10.0.0: {} - use-callback-ref@1.3.3(@types/react@19.1.4)(react@16.14.0): - dependencies: - react: 16.14.0 - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.1.4 - use-callback-ref@1.3.3(@types/react@19.1.4)(react@19.1.0): dependencies: react: 19.1.0 @@ -29846,14 +29470,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - use-sidecar@1.1.3(@types/react@19.1.4)(react@16.14.0): - dependencies: - detect-node-es: 1.1.0 - react: 16.14.0 - tslib: 2.8.1 - optionalDependencies: - '@types/react': 19.1.4 - use-sidecar@1.1.3(@types/react@19.1.4)(react@19.1.0): dependencies: detect-node-es: 1.1.0 @@ -29862,10 +29478,6 @@ snapshots: optionalDependencies: '@types/react': 19.1.4 - use-sync-external-store@1.5.0(react@16.14.0): - dependencies: - react: 16.14.0 - use-sync-external-store@1.5.0(react@19.1.0): dependencies: react: 19.1.0 @@ -30752,13 +30364,6 @@ snapshots: zod@3.24.4: {} - zustand@4.5.6(@types/react@19.1.4)(react@16.14.0): - dependencies: - use-sync-external-store: 1.5.0(react@16.14.0) - optionalDependencies: - '@types/react': 19.1.4 - react: 16.14.0 - zustand@4.5.6(@types/react@19.1.4)(react@19.1.0): dependencies: use-sync-external-store: 1.5.0(react@19.1.0) From ac2e5fc3b7bc008e2bfce4ed55d542af62ab6857 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 01:29:51 +0300 Subject: [PATCH 18/65] fix(client): integrate autocomplete into client --- apps/client/package.json | 1 + apps/client/src/desktop.ts | 1 + apps/client/src/mobile.ts | 1 + apps/server/package.json | 1 - apps/server/src/routes/assets.ts | 7 ------- apps/server/webpack.config.cjs | 1 - pnpm-lock.yaml | 6 +++--- 7 files changed, 6 insertions(+), 12 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index cc03140ba..1c2eb47e7 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -24,6 +24,7 @@ "@triliumnext/ckeditor5": "workspace:*", "@triliumnext/codemirror": "workspace:*", "@triliumnext/commons": "workspace:*", + "autocomplete.js": "0.38.1", "bootstrap": "5.3.6", "boxicons": "2.1.4", "dayjs": "1.11.13", diff --git a/apps/client/src/desktop.ts b/apps/client/src/desktop.ts index db7484d9a..cbaaee53b 100644 --- a/apps/client/src/desktop.ts +++ b/apps/client/src/desktop.ts @@ -12,6 +12,7 @@ import type ElectronRemote from "@electron/remote"; import type Electron from "electron"; import "./stylesheets/bootstrap.scss"; import "boxicons"; +import "autocomplete.js/index_jquery.js"; await appContext.earlyInit(); diff --git a/apps/client/src/mobile.ts b/apps/client/src/mobile.ts index b28dc86ff..cf4bc635b 100644 --- a/apps/client/src/mobile.ts +++ b/apps/client/src/mobile.ts @@ -3,6 +3,7 @@ import noteAutocompleteService from "./services/note_autocomplete.js"; import glob from "./services/glob.js"; import "./stylesheets/bootstrap.scss"; import "boxicons"; +import "autocomplete.js/index_jquery.js"; glob.setupGlobs(); diff --git a/apps/server/package.json b/apps/server/package.json index d1e2e6239..30dded081 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -42,7 +42,6 @@ "@types/turndown": "5.0.5", "@types/ws": "8.18.1", "@types/xml2js": "0.4.14", - "autocomplete.js": "0.38.1", "express-http-proxy": "2.1.1", "jquery": "3.7.1", "katex": "0.16.22", diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 4b32ce5d9..94a6a744a 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -4,7 +4,6 @@ import { fileURLToPath } from "url"; import express from "express"; import { getResourceDir, isDev } from "../services/utils.js"; import type serveStatic from "serve-static"; -import proxy from "express-http-proxy"; import contentCss from "@triliumnext/ckeditor5/content.css"; const persistentCacheStatic = (root: string, options?: serveStatic.ServeStaticOptions>>) => { @@ -59,16 +58,10 @@ async function register(app: express.Application) { app.use(`/node_modules/katex/dist/`, express.static(path.join(nodeModulesDir, "katex/dist/"))); app.use(`/${assetPath}/node_modules/katex/dist/`, persistentCacheStatic(path.join(nodeModulesDir, "katex/dist/"))); - app.use(`/${assetPath}/node_modules/boxicons/css/`, persistentCacheStatic(path.join(nodeModulesDir, "boxicons/css/"))); - app.use(`/${assetPath}/node_modules/boxicons/fonts/`, persistentCacheStatic(path.join(nodeModulesDir, "boxicons/fonts/"))); - app.use(`/${assetPath}/node_modules/jquery/dist/`, persistentCacheStatic(path.join(nodeModulesDir, "jquery/dist/"))); app.use(`/${assetPath}/node_modules/jquery-hotkeys/`, persistentCacheStatic(path.join(nodeModulesDir, "jquery-hotkeys/"))); - // Deprecated, https://www.npmjs.com/package/autocomplete.js?activeTab=readme - app.use(`/${assetPath}/node_modules/autocomplete.js/dist/`, persistentCacheStatic(path.join(nodeModulesDir, "autocomplete.js/dist/"))); - app.use(`/${assetPath}/node_modules/normalize.css/`, persistentCacheStatic(path.join(nodeModulesDir, "normalize.css/"))); app.use(`/${assetPath}/node_modules/jquery.fancytree/dist/`, persistentCacheStatic(path.join(nodeModulesDir, "jquery.fancytree/dist/"))); diff --git a/apps/server/webpack.config.cjs b/apps/server/webpack.config.cjs index 827942494..86e4662ea 100644 --- a/apps/server/webpack.config.cjs +++ b/apps/server/webpack.config.cjs @@ -17,7 +17,6 @@ function buildFilesToCopy() { "katex/dist", "jquery/dist", "jquery-hotkeys", - "autocomplete.js/dist", "normalize.css/normalize.css", "jquery.fancytree/dist", "@highlightjs/cdn-assets", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6e0c30589..a1a561904 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -209,6 +209,9 @@ importers: '@triliumnext/commons': specifier: workspace:* version: link:../../packages/commons + autocomplete.js: + specifier: 0.38.1 + version: 0.38.1 bootstrap: specifier: 5.3.6 version: 5.3.6(@popperjs/core@2.11.8) @@ -599,9 +602,6 @@ importers: async-mutex: specifier: 0.5.0 version: 0.5.0 - autocomplete.js: - specifier: 0.38.1 - version: 0.38.1 axios: specifier: 1.9.0 version: 1.9.0(debug@4.4.1) From 875075e8c4a1a2154735cb7ce79792adc70cda8c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 01:39:21 +0300 Subject: [PATCH 19/65] fix(client): emoji definitions --- apps/client/src/types-assets.d.ts | 2 +- apps/client/src/widgets/type_widgets/ckeditor/config.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/client/src/types-assets.d.ts b/apps/client/src/types-assets.d.ts index 36e38fcb3..ffe5456fd 100644 --- a/apps/client/src/types-assets.d.ts +++ b/apps/client/src/types-assets.d.ts @@ -3,7 +3,7 @@ declare module "*.png" { export default path; } -declare module "*.json?external" { +declare module "@triliumnext/ckeditor5/emoji_definitions/en.json?url" { var path: string; export default path; } diff --git a/apps/client/src/widgets/type_widgets/ckeditor/config.ts b/apps/client/src/widgets/type_widgets/ckeditor/config.ts index b4ba9633a..413c50842 100644 --- a/apps/client/src/widgets/type_widgets/ckeditor/config.ts +++ b/apps/client/src/widgets/type_widgets/ckeditor/config.ts @@ -5,7 +5,7 @@ import { getHighlightJsNameForMime } from "../../../services/mime_types.js"; import options from "../../../services/options.js"; import { isSyntaxHighlightEnabled } from "../../../services/syntax_highlight.js"; import utils from "../../../services/utils.js"; -import emojiDefinitionsUrl from "@triliumnext/ckeditor5/emoji_definitions/en.json?external"; +import emojiDefinitionsUrl from "@triliumnext/ckeditor5/emoji_definitions/en.json?url"; const TEXT_FORMATTING_GROUP = { label: "Text formatting", @@ -101,7 +101,7 @@ export function buildConfig() { allowedProtocols: ALLOWED_PROTOCOLS }, emoji: { - definitionsUrl: emojiDefinitionsUrl + definitionsUrl: new URL(import.meta.url).origin + emojiDefinitionsUrl }, syntaxHighlighting: { async loadHighlightJs() { From bfa4c09c7ef84bb9ab28f037b54eef0f205c5608 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 01:43:37 +0300 Subject: [PATCH 20/65] fix(client): integrate highlight.js (partially) --- apps/client/package.json | 1 + apps/server/package.json | 3 +-- apps/server/src/routes/assets.ts | 2 -- apps/server/webpack.config.cjs | 1 - pnpm-lock.yaml | 6 +++--- 5 files changed, 5 insertions(+), 8 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 1c2eb47e7..bbd6883e2 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -18,6 +18,7 @@ "@fullcalendar/list": "6.1.17", "@fullcalendar/multimonth": "6.1.17", "@fullcalendar/timegrid": "6.1.17", + "@highlightjs/cdn-assets": "11.11.1", "@mermaid-js/layout-elk": "0.1.7", "@mind-elixir/node-menu": "1.0.5", "@popperjs/core": "2.11.8", diff --git a/apps/server/package.json b/apps/server/package.json index 30dded081..819312d1e 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -6,8 +6,7 @@ "dependencies": { "better-sqlite3": "11.10.0", "jquery.fancytree": "2.38.5", - "jquery-hotkeys": "0.2.2", - "@highlightjs/cdn-assets": "11.11.1" + "jquery-hotkeys": "0.2.2" }, "devDependencies": { "@electron/remote": "2.1.2", diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 94a6a744a..5bdd63ad1 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -65,8 +65,6 @@ async function register(app: express.Application) { app.use(`/${assetPath}/node_modules/normalize.css/`, persistentCacheStatic(path.join(nodeModulesDir, "normalize.css/"))); app.use(`/${assetPath}/node_modules/jquery.fancytree/dist/`, persistentCacheStatic(path.join(nodeModulesDir, "jquery.fancytree/dist/"))); - - app.use(`/${assetPath}/node_modules/@highlightjs/cdn-assets/`, persistentCacheStatic(path.join(nodeModulesDir, "@highlightjs/cdn-assets/"))); } export default { diff --git a/apps/server/webpack.config.cjs b/apps/server/webpack.config.cjs index 86e4662ea..efe52d9c6 100644 --- a/apps/server/webpack.config.cjs +++ b/apps/server/webpack.config.cjs @@ -19,7 +19,6 @@ function buildFilesToCopy() { "jquery-hotkeys", "normalize.css/normalize.css", "jquery.fancytree/dist", - "@highlightjs/cdn-assets", // Required as they are native dependencies and cannot be well bundled. "better-sqlite3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a1a561904..59179e12e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -191,6 +191,9 @@ importers: '@fullcalendar/timegrid': specifier: 6.1.17 version: 6.1.17(@fullcalendar/core@6.1.17) + '@highlightjs/cdn-assets': + specifier: 11.11.1 + version: 11.11.1 '@mermaid-js/layout-elk': specifier: 0.1.7 version: 0.1.7(mermaid@11.6.0) @@ -472,9 +475,6 @@ importers: apps/server: dependencies: - '@highlightjs/cdn-assets': - specifier: 11.11.1 - version: 11.11.1 better-sqlite3: specifier: 11.10.0 version: 11.10.0 From 470ac18cba0937f67ebaaab8f04522b4d8aa222b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 10:03:37 +0300 Subject: [PATCH 21/65] feat(client): integrate normalize.css --- apps/client/package.json | 1 + apps/client/src/share.ts | 1 + apps/server/package.json | 1 - apps/server/src/assets/views/share/page.ejs | 1 - apps/server/src/routes/assets.ts | 2 -- apps/server/webpack.config.cjs | 1 - pnpm-lock.yaml | 6 +++--- 7 files changed, 5 insertions(+), 8 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index bbd6883e2..485e81e28 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -47,6 +47,7 @@ "marked": "15.0.11", "mermaid": "11.6.0", "mind-elixir": "4.5.2", + "normalize.css": "8.0.1", "panzoom": "9.4.3", "react": "19.1.0", "react-dom": "19.1.0", diff --git a/apps/client/src/share.ts b/apps/client/src/share.ts index 0281e6ed4..60615b686 100644 --- a/apps/client/src/share.ts +++ b/apps/client/src/share.ts @@ -1,4 +1,5 @@ import "./stylesheets/bootstrap.scss"; +import "normalize.css"; /** * Fetch note with given ID from backend diff --git a/apps/server/package.json b/apps/server/package.json index 819312d1e..8a60d6fa6 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -44,7 +44,6 @@ "express-http-proxy": "2.1.1", "jquery": "3.7.1", "katex": "0.16.22", - "normalize.css": "8.0.1", "@anthropic-ai/sdk": "0.51.0", "@braintree/sanitize-url": "7.1.1", "@triliumnext/commons": "workspace:*", diff --git a/apps/server/src/assets/views/share/page.ejs b/apps/server/src/assets/views/share/page.ejs index 35d01cd2c..84b8b6e60 100644 --- a/apps/server/src/assets/views/share/page.ejs +++ b/apps/server/src/assets/views/share/page.ejs @@ -14,7 +14,6 @@ <% } %> <% if (!note.isLabelTruthy("shareOmitDefaultCss")) { %> - <% } %> <% if (note.type === 'text' || note.type === 'book') { %> diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 5bdd63ad1..3a09fb0d0 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -62,8 +62,6 @@ async function register(app: express.Application) { app.use(`/${assetPath}/node_modules/jquery-hotkeys/`, persistentCacheStatic(path.join(nodeModulesDir, "jquery-hotkeys/"))); - app.use(`/${assetPath}/node_modules/normalize.css/`, persistentCacheStatic(path.join(nodeModulesDir, "normalize.css/"))); - app.use(`/${assetPath}/node_modules/jquery.fancytree/dist/`, persistentCacheStatic(path.join(nodeModulesDir, "jquery.fancytree/dist/"))); } diff --git a/apps/server/webpack.config.cjs b/apps/server/webpack.config.cjs index efe52d9c6..509446bd3 100644 --- a/apps/server/webpack.config.cjs +++ b/apps/server/webpack.config.cjs @@ -17,7 +17,6 @@ function buildFilesToCopy() { "katex/dist", "jquery/dist", "jquery-hotkeys", - "normalize.css/normalize.css", "jquery.fancytree/dist", // Required as they are native dependencies and cannot be well bundled. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 59179e12e..61d5fb7d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -278,6 +278,9 @@ importers: mind-elixir: specifier: 4.5.2 version: 4.5.2 + normalize.css: + specifier: 8.0.1 + version: 8.0.1 panzoom: specifier: 9.4.3 version: 9.4.3 @@ -737,9 +740,6 @@ importers: normalize-strings: specifier: 1.1.1 version: 1.1.1 - normalize.css: - specifier: 8.0.1 - version: 8.0.1 ollama: specifier: 0.5.15 version: 0.5.15 From 786233ab068b49ae45eeacf5b46a4b1769b78415 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 10:07:48 +0300 Subject: [PATCH 22/65] fix(share): script not loadable due to relative path --- apps/server/src/assets/views/share/page.ejs | 6 +++--- apps/server/src/share/routes.ts | 13 +++++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/apps/server/src/assets/views/share/page.ejs b/apps/server/src/assets/views/share/page.ejs index 84b8b6e60..1556ec2be 100644 --- a/apps/server/src/assets/views/share/page.ejs +++ b/apps/server/src/assets/views/share/page.ejs @@ -12,12 +12,12 @@ <% } else { %> <% } %> - + <% if (!note.isLabelTruthy("shareOmitDefaultCss")) { %> - + <% } %> <% if (note.type === 'text' || note.type === 'book') { %> - + <% } %> <% for (const cssRelation of note.getRelations("shareCss")) { %> diff --git a/apps/server/src/share/routes.ts b/apps/server/src/share/routes.ts index 56b46760f..764860c72 100644 --- a/apps/server/src/share/routes.ts +++ b/apps/server/src/share/routes.ts @@ -14,7 +14,7 @@ import log from "../services/log.js"; import type SNote from "./shaca/entities/snote.js"; import type SBranch from "./shaca/entities/sbranch.js"; import type SAttachment from "./shaca/entities/sattachment.js"; -import utils, { safeExtractMessageAndStackFromError } from "../services/utils.js"; +import utils, { isDev, safeExtractMessageAndStackFromError } from "../services/utils.js"; import options from "../services/options.js"; function getSharedSubTreeRoot(note: SNote): { note?: SNote; branch?: SBranch } { @@ -159,7 +159,16 @@ function register(router: Router) { const { header, content, isEmpty } = contentRenderer.getContent(note); const subRoot = getSharedSubTreeRoot(note); const showLoginInShareTheme = options.getOption("showLoginInShareTheme"); - const opts = { note, header, content, isEmpty, subRoot, assetPath, appPath, showLoginInShareTheme }; + const opts = { + note, + header, + content, + isEmpty, + subRoot, + assetPath: isDev ? assetPath : `../${assetPath}`, + appPath: isDev ? appPath : `../${appPath}`, + showLoginInShareTheme + }; let useDefaultView = true; // Check if the user has their own template From f7471b5a12b59f59bb0dfbd2a2c2db8d82347d8a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 10:08:18 +0300 Subject: [PATCH 23/65] fix(share): script not loadable due to ESM --- apps/server/src/assets/views/share/page.ejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/server/src/assets/views/share/page.ejs b/apps/server/src/assets/views/share/page.ejs index 1556ec2be..5a9bd95a5 100644 --- a/apps/server/src/assets/views/share/page.ejs +++ b/apps/server/src/assets/views/share/page.ejs @@ -12,7 +12,7 @@ <% } else { %> <% } %> - + <% if (!note.isLabelTruthy("shareOmitDefaultCss")) { %> <% } %> From 255e5297145e051226960d7435cc4186b9eb8ccd Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 10:13:03 +0300 Subject: [PATCH 24/65] fix(share): content.css missing --- apps/client/src/share.ts | 1 + apps/server/src/assets/views/share/page.ejs | 3 --- apps/server/src/routes/assets.ts | 3 --- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/apps/client/src/share.ts b/apps/client/src/share.ts index 60615b686..0dd19d36d 100644 --- a/apps/client/src/share.ts +++ b/apps/client/src/share.ts @@ -1,5 +1,6 @@ import "./stylesheets/bootstrap.scss"; import "normalize.css"; +import "@triliumnext/ckeditor5/content.css"; /** * Fetch note with given ID from backend diff --git a/apps/server/src/assets/views/share/page.ejs b/apps/server/src/assets/views/share/page.ejs index 5a9bd95a5..d15cf515e 100644 --- a/apps/server/src/assets/views/share/page.ejs +++ b/apps/server/src/assets/views/share/page.ejs @@ -16,9 +16,6 @@ <% if (!note.isLabelTruthy("shareOmitDefaultCss")) { %> <% } %> - <% if (note.type === 'text' || note.type === 'book') { %> - - <% } %> <% for (const cssRelation of note.getRelations("shareCss")) { %> <% } %> diff --git a/apps/server/src/routes/assets.ts b/apps/server/src/routes/assets.ts index 3a09fb0d0..220f1fe99 100644 --- a/apps/server/src/routes/assets.ts +++ b/apps/server/src/routes/assets.ts @@ -4,7 +4,6 @@ import { fileURLToPath } from "url"; import express from "express"; import { getResourceDir, isDev } from "../services/utils.js"; import type serveStatic from "serve-static"; -import contentCss from "@triliumnext/ckeditor5/content.css"; const persistentCacheStatic = (root: string, options?: serveStatic.ServeStaticOptions>>) => { if (!isDev) { @@ -20,8 +19,6 @@ async function register(app: express.Application) { const srcRoot = path.join(path.dirname(fileURLToPath(import.meta.url)), ".."); const resourceDir = getResourceDir(); - app.use(`/${assetPath}/libraries/ckeditor/ckeditor-content.css`, (req, res) => res.contentType("text/css").send(contentCss)); - if (isDev) { const publicUrl = process.env.TRILIUM_PUBLIC_SERVER; if (!publicUrl) { From 7b787fff59e1359c84e221602e593bf7bb957265 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 17 May 2025 10:31:31 +0300 Subject: [PATCH 25/65] feat(client): integrate katex --- apps/client/package.json | 1 + apps/client/src/services/content_renderer.ts | 4 +--- apps/client/src/services/library_loader.ts | 1 - apps/client/src/services/math.ts | 5 +++++ apps/client/src/types-lib.d.ts | 7 +++++++ apps/client/src/types.d.ts | 9 --------- apps/client/src/widgets/dialogs/revisions.ts | 4 +--- apps/client/src/widgets/highlights_list.ts | 3 +-- apps/client/src/widgets/toc.ts | 13 ++++++------- .../src/widgets/type_widgets/editable_text.ts | 4 +++- .../src/widgets/type_widgets/read_only_text.ts | 4 +--- apps/server/package.json | 3 +-- pnpm-lock.yaml | 6 +++--- 13 files changed, 30 insertions(+), 34 deletions(-) create mode 100644 apps/client/src/services/math.ts diff --git a/apps/client/package.json b/apps/client/package.json index 485e81e28..e10a4b77a 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -40,6 +40,7 @@ "jquery-hotkeys": "0.2.2", "jquery.fancytree": "2.38.5", "jsplumb": "2.15.6", + "katex": "0.16.22", "knockout": "3.5.1", "leaflet": "1.9.4", "leaflet-gpx": "2.2.0", diff --git a/apps/client/src/services/content_renderer.ts b/apps/client/src/services/content_renderer.ts index 619d2d7a6..11156ae7a 100644 --- a/apps/client/src/services/content_renderer.ts +++ b/apps/client/src/services/content_renderer.ts @@ -1,7 +1,6 @@ import renderService from "./render.js"; import protectedSessionService from "./protected_session.js"; import protectedSessionHolder from "./protected_session_holder.js"; -import libraryLoader from "./library_loader.js"; import openService from "./open.js"; import froca from "./froca.js"; import utils from "./utils.js"; @@ -16,6 +15,7 @@ import { normalizeMimeTypeForCKEditor } from "./mime_type_definitions.js"; import renderDoc from "./doc_renderer.js"; import { t } from "../services/i18n.js"; import WheelZoom from 'vanilla-js-wheel-zoom'; +import { renderMathInElement } from "./math.js"; let idCounter = 1; @@ -94,8 +94,6 @@ async function renderText(note: FNote | FAttachment, $renderedContent: JQuery').html(blob.content)); if ($renderedContent.find("span.math-tex").length > 0) { - await libraryLoader.requireLibrary(libraryLoader.KATEX); - renderMathInElement($renderedContent[0], { trust: true }); } diff --git a/apps/client/src/services/library_loader.ts b/apps/client/src/services/library_loader.ts index a5ad0e3fc..548afe912 100644 --- a/apps/client/src/services/library_loader.ts +++ b/apps/client/src/services/library_loader.ts @@ -121,6 +121,5 @@ export default { requireCss, requireLibrary, loadHighlightingTheme, - KATEX, HIGHLIGHT_JS }; diff --git a/apps/client/src/services/math.ts b/apps/client/src/services/math.ts new file mode 100644 index 000000000..2a5fc45b2 --- /dev/null +++ b/apps/client/src/services/math.ts @@ -0,0 +1,5 @@ +import katex from "katex"; +import "katex/contrib/mhchem"; +import "katex/dist/katex.min.css"; +export { default as renderMathInElement } from "katex/contrib/auto-render"; +export default katex; diff --git a/apps/client/src/types-lib.d.ts b/apps/client/src/types-lib.d.ts index 57b810f76..a19bffa9d 100644 --- a/apps/client/src/types-lib.d.ts +++ b/apps/client/src/types-lib.d.ts @@ -24,3 +24,10 @@ declare module "draggabilly" { declare module "@mind-elixir/node-menu" { export default mindmap; } + +declare module "katex/contrib/auto-render" { + var renderMathInElement: (element: HTMLElement, options: { + trust: boolean; + }) => void; + export default renderMathInElement; +} diff --git a/apps/client/src/types.d.ts b/apps/client/src/types.d.ts index 70e51aede..5fd57c1f8 100644 --- a/apps/client/src/types.d.ts +++ b/apps/client/src/types.d.ts @@ -131,15 +131,6 @@ declare global { language: string }); }; - var renderMathInElement: (element: HTMLElement, options: { - trust: boolean; - }) => void; - - var katex: { - renderToString(text: string, opts: { - throwOnError: boolean - }); - } /* * Panzoom diff --git a/apps/client/src/widgets/dialogs/revisions.ts b/apps/client/src/widgets/dialogs/revisions.ts index c97864e22..8083dd935 100644 --- a/apps/client/src/widgets/dialogs/revisions.ts +++ b/apps/client/src/widgets/dialogs/revisions.ts @@ -3,7 +3,6 @@ import utils from "../../services/utils.js"; import server from "../../services/server.js"; import toastService from "../../services/toast.js"; import appContext from "../../components/app_context.js"; -import libraryLoader from "../../services/library_loader.js"; import openService from "../../services/open.js"; import protectedSessionHolder from "../../services/protected_session_holder.js"; import BasicWidget from "../basic_widget.js"; @@ -12,6 +11,7 @@ import options from "../../services/options.js"; import type FNote from "../../entities/fnote.js"; import type { NoteType } from "../../entities/fnote.js"; import { Dropdown, Modal } from "bootstrap"; +import { renderMathInElement } from "../../services/math.js"; const TPL = /*html*/`