diff --git a/.changeset/afraid-eels-dress.md b/.changeset/afraid-eels-dress.md new file mode 100644 index 0000000000..a845151cc8 --- /dev/null +++ b/.changeset/afraid-eels-dress.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/.changeset/shaky-walls-wish.md b/.changeset/shaky-walls-wish.md new file mode 100644 index 0000000000..a845151cc8 --- /dev/null +++ b/.changeset/shaky-walls-wish.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e24275e102..f523427d93 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -204,6 +204,26 @@ jobs: website: needs: build uses: ./.github/workflows/workflow-website.yml + zizmor: + runs-on: lynx-ubuntu-24.04-medium + permissions: + security-events: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + persist-credentials: false + - name: Install the latest version of uv + uses: astral-sh/setup-uv@v5 + - name: Run zizmor 🌈 + run: uvx zizmor --format=sarif . > results.sarif + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Upload SARIF file + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: results.sarif + category: zizmor # Copied from https://github.com/swc-project/swc/blob/b192dc82e6a84bd30f159fb12ca8a216f41e8efb/.github/workflows/CI.yml#L491 done: needs: @@ -217,6 +237,7 @@ jobs: - test-tools - test-type - website + - zizmor if: always() runs-on: lynx-ubuntu-24.04-medium name: Done diff --git a/cspell.jsonc b/cspell.jsonc index c7c206752a..d2128259a6 100644 --- a/cspell.jsonc +++ b/cspell.jsonc @@ -99,6 +99,7 @@ "rustc", "samchon", // https://github.com/samchon/openapi "serde", // https://github.com/serde-rs/serde + "SARIF", // https://sarifweb.azurewebsites.net/ "turborepo", // https://github.com/vercel/turbo "typecheck", // vitest uses `--typecheck` "typeof", @@ -113,6 +114,7 @@ "PAPI", // Lynx's Element PAPI "parseable", // https://pnpm.io/cli/list "debugids", // https://getsentry.github.io/debugids/ + "zizmor", // https://github.com/woodruffw/zizmor ], // Glob "ignorePaths": [ diff --git a/packages/web-platform/web-elements/src/XFoldViewNg/XFoldviewSlotNgTouchEventsHandler.ts b/packages/web-platform/web-elements/src/XFoldViewNg/XFoldviewSlotNgTouchEventsHandler.ts index b93641e9f0..95b4c0de9a 100644 --- a/packages/web-platform/web-elements/src/XFoldViewNg/XFoldviewSlotNgTouchEventsHandler.ts +++ b/packages/web-platform/web-elements/src/XFoldViewNg/XFoldviewSlotNgTouchEventsHandler.ts @@ -78,19 +78,11 @@ export class XFoldviewSlotNgTouchEventsHandler if (this.#scrollingVertically === false) { return; } - /** - * on chromium browsers, the y-axis js scrolling won't interrupt the pan-x gestures - * we make sure the x-axis scrolling will block the y-axis scrolling - */ const scrollableKidY = this.#getTheMostScrollableKid(deltaY); - /** - * on chromium browsers, the y-axis js scrolling won't interrupt the pan-x gestures - * we make sure the x-axis scrolling will block the y-axis scrolling - */ if ( parentElement ) { - if (event.cancelable && !isChromium) { + if (event.cancelable) { event.preventDefault(); } if ( diff --git a/packages/web-platform/web-elements/src/XFoldViewNg/x-foldview-ng.css b/packages/web-platform/web-elements/src/XFoldViewNg/x-foldview-ng.css index 95ac7e3335..8ef40181ef 100644 --- a/packages/web-platform/web-elements/src/XFoldViewNg/x-foldview-ng.css +++ b/packages/web-platform/web-elements/src/XFoldViewNg/x-foldview-ng.css @@ -71,9 +71,6 @@ x-foldview-slot-ng { contain: strict; order: 3; } -x-foldview-ng > x-foldview-slot-ng * { - touch-action: pan-x pinch-zoom; -} x-foldview-slot-ng scroll-view { /* avoiding default bounce on ios safari */ overscroll-behavior-y: none; diff --git a/packages/webpack/react-webpack-plugin/src/ReactWebpackPlugin.ts b/packages/webpack/react-webpack-plugin/src/ReactWebpackPlugin.ts index 31fdbde08c..49f3fad5e6 100644 --- a/packages/webpack/react-webpack-plugin/src/ReactWebpackPlugin.ts +++ b/packages/webpack/react-webpack-plugin/src/ReactWebpackPlugin.ts @@ -50,7 +50,7 @@ interface ReactWebpackPluginOptions { firstScreenSyncTiming?: 'immediately' | 'jsReady'; /** - * {@inheritdoc @lynx-dev/react-rsbuild-plugin#PluginReactLynxOptions.enableSSR} + * {@inheritdoc @lynx-js/react-rsbuild-plugin#PluginReactLynxOptions.enableSSR} */ enableSSR?: boolean; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d3e127c63c..8c9bcbecc3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1185,20 +1185,20 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.2': - resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} + '@babel/compat-data@7.26.8': + resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} engines: {node: '>=6.9.0'} - '@babel/core@7.26.0': - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + '@babel/core@7.26.10': + resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} engines: {node: '>=6.9.0'} '@babel/generator@7.27.0': resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + '@babel/helper-compilation-targets@7.27.0': + resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.25.9': @@ -1227,8 +1227,8 @@ packages: resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.26.9': - resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==} + '@babel/helpers@7.27.0': + resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==} engines: {node: '>=6.9.0'} '@babel/parser@7.27.0': @@ -8541,16 +8541,16 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.2': {} + '@babel/compat-data@7.26.8': {} - '@babel/core@7.26.0': + '@babel/core@7.26.10': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 '@babel/generator': 7.27.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.9 + '@babel/helper-compilation-targets': 7.27.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helpers': 7.27.0 '@babel/parser': 7.27.0 '@babel/template': 7.27.0 '@babel/traverse': 7.27.0 @@ -8571,9 +8571,9 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 - '@babel/helper-compilation-targets@7.25.9': + '@babel/helper-compilation-targets@7.27.0': dependencies: - '@babel/compat-data': 7.26.2 + '@babel/compat-data': 7.26.8 '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.4 lru-cache: 5.1.1 @@ -8586,9 +8586,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-module-imports': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.27.0 @@ -8603,7 +8603,7 @@ snapshots: '@babel/helper-validator-option@7.25.9': {} - '@babel/helpers@7.26.9': + '@babel/helpers@7.27.0': dependencies: '@babel/template': 7.27.0 '@babel/types': 7.27.0 @@ -8612,99 +8612,99 @@ snapshots: dependencies: '@babel/types': 7.27.0 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.26.0)': + '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.26.0)': + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.26.0)': + '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)': + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.10)': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/helper-plugin-utils': 7.25.9 '@babel/runtime@7.25.4': @@ -9483,7 +9483,7 @@ snapshots: '@jest/transform@29.7.0': dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -10949,9 +10949,9 @@ snapshots: '@vitejs/plugin-react@4.3.4(vite@5.4.2(@types/node@22.14.1)(sass-embedded@1.86.0)(terser@5.31.6))': dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) + '@babel/core': 7.26.10 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.10) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.10) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 vite: 5.4.2(@types/node@22.14.1)(sass-embedded@1.86.0)(terser@5.31.6) @@ -11313,24 +11313,24 @@ snapshots: transitivePeerDependencies: - supports-color - babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.26.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) + babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.10): + dependencies: + '@babel/core': 7.26.10 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.10) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.10) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.10) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.26.10) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.10) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.10) bail@2.0.2: {} @@ -13558,7 +13558,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/parser': 7.27.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -13568,7 +13568,7 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/parser': 7.27.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -13672,15 +13672,15 @@ snapshots: jest-snapshot@29.7.0: dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.10 '@babel/generator': 7.27.0 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0) - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.26.0) + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.10) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.26.10) '@babel/types': 7.27.0 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.10) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11