[x] 1.1 Verify RegExp.escape() availability and TypeScript support
RegExp.escape() is available at runtime in the project's Node.js 24 targetRegExp.escape() — may need lib config update or @types/node updateescape-string-regexp to v5 with require(esm) instead[x] 1.2 Review next-themes v0.3.0 and v0.4.0 breaking API changes
[x] 2. Low-risk package upgrades
[x] 2.1 (P) Relax @aws-sdk version range
@aws-sdk/client-s3 from 3.454.0 to ^3.1014.0 in apps/app/package.json@aws-sdk/s3-request-presigner from 3.454.0 to ^3.1014.0"@aws-skd/*" comment to reflect the actual reason or remove itpnpm install and verify build with turbo run build --filter @growi/appturbo run test --filter @growi/app to confirm no regressions[x] 2.2 (P) Upgrade string-width in @growi/editor
string-width from =4.2.2 to ^7.0.0 in packages/editor/package.jsonturbo run build --filter @growi/app to confirm downstream build passesturbo run test --filter @growi/app to confirm no regressionsstring-width comment from apps/app/package.json // comments for dependencies[x] 3. Upgrade bootstrap to ^5.3.8
bootstrap from =5.3.2 to ^5.3.8 in apps/app/package.json and all other packagespnpm install to resolve the new versionpnpm run pre:styles-commons and pnpm run pre:styles-components to verify SCSS compilationturbo run build --filter @growi/app to confirm Turbopack build passesturbo run lint --filter @growi/app to check for type or lint errorsturbo run test --filter @growi/app to confirm no regressionsbootstrap comment from // comments for dependencies[x] 4. Replace escape-string-regexp with native RegExp.escape()
[x] 4.1 Migrate all source files from escape-string-regexp to RegExp.escape()
import escapeStringRegexp from 'escape-string-regexp' and corresponding calls with RegExp.escape() in each file[x] 4.2 Remove escape-string-regexp dependency and verify
escape-string-regexp from apps/app/package.json dependenciesescape-string-regexp comment from // comments for dependenciesescape-string-regexp entry from transpilePackages in next.config.tspnpm install to update lockfileturbo run build --filter @growi/app to verify buildturbo run lint --filter @growi/app to verify no type errorsturbo run test --filter @growi/app to verify no regressions[x] 5. Upgrade next-themes to ^0.4.x
[x] 5.1 Update next-themes and adapt consuming code
next-themes from ^0.2.1 to ^0.4.6 in apps/app/package.jsonuseTheme() and ThemeProvider usage is compatible with v0.4.x API[x] 5.2 Verify next-themes upgrade
turbo run build --filter @growi/app to confirm build passesturbo run lint --filter @growi/app to check for type errors (original pinning was about types)turbo run test --filter @growi/app to confirm no regressionsnext-themes comment from // comments for dependencies[x] 6. Finalize audit documentation and comment blocks
// comments for dependencies block contains only packages that remain pinned (@keycloak if unchanged)// comments for defDependencies block is accurate (handsontable entries unchanged)