├── .cargo └── nextest.toml ├── .changeset ├── busy-vans-heal.md ├── config.json ├── cool-nights-admire.md ├── dull-moons-scream.md ├── eighty-crabs-serve.md ├── eighty-trees-appear.md ├── fresh-clowns-crash.md ├── fuzzy-years-stop.md ├── loud-zoos-vanish.md ├── nasty-results-listen.md ├── silent-rules-serve.md └── smart-regions-dig.md ├── .cspell ├── contributors.txt ├── lynx.txt ├── preact.txt └── rspack.txt ├── .dprint.jsonc ├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── 1-bug-report.en-US.yml │ ├── 2-feature-request.en-US.yml │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md ├── actions │ └── setup-playwright │ │ └── action.yml ├── cla.json ├── codeql-config.yml ├── renovate.json5 └── workflows │ ├── code-scanning.yml │ ├── deploy-main.yml │ ├── nodejs-dependencies.yml │ ├── pull-request-content-check.yml │ ├── relative-ci.yml │ ├── rust.yml │ ├── stale.yml │ ├── test.yml │ ├── workflow-bench.yml │ ├── workflow-build.yml │ ├── workflow-bundle-analysis.yml │ ├── workflow-test.yml │ └── workflow-website.yml ├── .gitignore ├── .husky └── pre-commit ├── .lintstagedrc.mjs ├── .npmrc ├── .nvmrc ├── .rustfmt.toml ├── .typos.toml ├── .vscode ├── extensions.json └── settings.json ├── CLA.md ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── NOTICE ├── README.md ├── SECURITY.md ├── api-extractor.json ├── biome.jsonc ├── codecov.yml ├── cspell.jsonc ├── eslint.config.js ├── examples └── react │ ├── lynx.config.js │ ├── package.json │ ├── src │ ├── App.css │ ├── App.tsx │ ├── assets │ │ ├── arrow.png │ │ ├── lynx-logo.png │ │ └── react-logo.png │ ├── index.tsx │ └── rspeedy-env.d.ts │ ├── test │ └── jsx-runtime.test-d.tsx │ ├── tsconfig.json │ └── vitest.config.ts ├── package.json ├── packages ├── background-only │ ├── README.md │ ├── empty.js │ ├── error.js │ ├── index.d.ts │ ├── package.json │ └── tsconfig.json ├── react │ ├── .dprint.jsonc │ ├── CHANGELOG.md │ ├── README.md │ ├── api-extractor.json │ ├── components │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── src │ │ │ ├── Page.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── etc │ │ └── react.api.md │ ├── package.json │ ├── refresh │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── package.json │ │ ├── src │ │ │ ├── index.ts │ │ │ └── prefresh.d.ts │ │ ├── tsconfig.json │ │ └── turbo.json │ ├── runtime │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── .prettierrc │ │ ├── CHANGELOG.md │ │ ├── __test__ │ │ │ ├── basic.test.jsx │ │ │ ├── compat.test.jsx │ │ │ ├── compat │ │ │ │ └── initData.test.jsx │ │ │ ├── css │ │ │ │ ├── compat.test.jsx │ │ │ │ ├── remove-scoped-lazy-bundle.test.jsx │ │ │ │ ├── remove-scoped-main-bundle.test.jsx │ │ │ │ ├── scoped-lazy-bundle.test.jsx │ │ │ │ └── scoped-main-bundle.test.jsx │ │ │ ├── debug │ │ │ │ ├── hook.js │ │ │ │ ├── printSnapshot.test.js │ │ │ │ └── profile.test.jsx │ │ │ ├── delayed-lifecycle-events.test.jsx │ │ │ ├── element.test.jsx │ │ │ ├── hooks │ │ │ │ └── useLynxGlobalEventListener.test.jsx │ │ │ ├── hydrate.test.jsx │ │ │ ├── lazy.test.js │ │ │ ├── lifecycle.test.jsx │ │ │ ├── lifecycle │ │ │ │ ├── reload.test.jsx │ │ │ │ ├── reloadBG.jsx │ │ │ │ └── reloadMT.jsx │ │ │ ├── list.test.jsx │ │ │ ├── lynx │ │ │ │ ├── injectLepusMethods.test.jsx │ │ │ │ ├── processEvalResult.test.js │ │ │ │ └── timing.test.jsx │ │ │ ├── mainThreadLazy.test.jsx │ │ │ ├── page.test.jsx │ │ │ ├── preact.test.jsx │ │ │ ├── renderToOpcodes.test.jsx │ │ │ ├── snapshot │ │ │ │ ├── event.test.jsx │ │ │ │ ├── gesture.test.jsx │ │ │ │ ├── ref.test.jsx │ │ │ │ ├── spread.test.jsx │ │ │ │ ├── workletEvent.test.jsx │ │ │ │ ├── workletRef.test.jsx │ │ │ │ ├── workletRefBG.jsx │ │ │ │ └── workletRefMT.jsx │ │ │ ├── snapshotPatch.test.jsx │ │ │ ├── ssr.test.jsx │ │ │ ├── tsconfig.json │ │ │ ├── utils │ │ │ │ ├── debug.js │ │ │ │ ├── envManager.ts │ │ │ │ ├── globals.js │ │ │ │ ├── inject.ts │ │ │ │ ├── nativeMethod.ts │ │ │ │ ├── runtimeProxy.ts │ │ │ │ └── setup.js │ │ │ └── worklet │ │ │ │ ├── execIdMap.test.js │ │ │ │ ├── onPost.test.js │ │ │ │ ├── runOnBackground.test.js │ │ │ │ ├── runOnMainThread.test.js │ │ │ │ ├── transform.test.js │ │ │ │ └── workletRef.test.jsx │ │ ├── jsx-dev-runtime │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── jsx-runtime │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── lazy │ │ │ ├── import.d.ts │ │ │ ├── import.js │ │ │ ├── internal.js │ │ │ ├── jsx-dev-runtime.js │ │ │ ├── jsx-runtime.js │ │ │ ├── legacy-react-runtime.js │ │ │ ├── react-lepus.js │ │ │ ├── react.js │ │ │ └── target.js │ │ ├── lepus │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── jsx-dev-runtime │ │ │ │ └── index.js │ │ │ └── jsx-runtime │ │ │ │ └── index.js │ │ ├── package.json │ │ ├── src │ │ │ ├── backgroundSnapshot.ts │ │ │ ├── compat │ │ │ │ ├── componentIs.ts │ │ │ │ ├── initData.ts │ │ │ │ └── lynxComponent.ts │ │ │ ├── debug │ │ │ │ ├── debug.ts │ │ │ │ ├── printSnapshot.ts │ │ │ │ └── profile.ts │ │ │ ├── document.ts │ │ │ ├── gesture │ │ │ │ ├── processGesture.ts │ │ │ │ ├── processGestureBagkround.ts │ │ │ │ └── types.ts │ │ │ ├── hooks │ │ │ │ ├── react.ts │ │ │ │ └── useLynxGlobalEventListener.ts │ │ │ ├── hydrate.ts │ │ │ ├── index.ts │ │ │ ├── internal.ts │ │ │ ├── legacy-react-runtime │ │ │ │ └── index.ts │ │ │ ├── lifecycle │ │ │ │ ├── delayUnmount.ts │ │ │ │ ├── destroy.ts │ │ │ │ ├── event │ │ │ │ │ ├── delayEvents.ts │ │ │ │ │ ├── delayLifecycleEvents.ts │ │ │ │ │ └── jsReady.ts │ │ │ │ ├── pass.ts │ │ │ │ ├── patch │ │ │ │ │ ├── commit.ts │ │ │ │ │ ├── isMainThreadHydrationFinished.ts │ │ │ │ │ ├── snapshotPatch.ts │ │ │ │ │ ├── snapshotPatchApply.ts │ │ │ │ │ └── updateMainThread.ts │ │ │ │ ├── reload.ts │ │ │ │ └── render.ts │ │ │ ├── lifecycleConstant.ts │ │ │ ├── list.ts │ │ │ ├── lynx-api.ts │ │ │ ├── lynx.ts │ │ │ ├── lynx │ │ │ │ ├── calledByNative.ts │ │ │ │ ├── component.ts │ │ │ │ ├── dynamic-js.ts │ │ │ │ ├── env.ts │ │ │ │ ├── injectLepusMethods.ts │ │ │ │ ├── lazy-bundle.ts │ │ │ │ ├── performance.ts │ │ │ │ ├── runWithForce.ts │ │ │ │ └── tt.ts │ │ │ ├── opcodes.ts │ │ │ ├── renderToOpcodes │ │ │ │ ├── constants.ts │ │ │ │ └── index.ts │ │ │ ├── root.ts │ │ │ ├── snapshot.ts │ │ │ ├── snapshot │ │ │ │ ├── event.ts │ │ │ │ ├── gesture.ts │ │ │ │ ├── platformInfo.ts │ │ │ │ ├── ref.ts │ │ │ │ ├── spread.ts │ │ │ │ ├── workletEvent.ts │ │ │ │ └── workletRef.ts │ │ │ ├── utils.ts │ │ │ └── worklet │ │ │ │ ├── ctx.ts │ │ │ │ ├── destroy.ts │ │ │ │ ├── execMap.ts │ │ │ │ ├── functionCall.ts │ │ │ │ ├── functionality.ts │ │ │ │ ├── hmr.ts │ │ │ │ ├── indexMap.ts │ │ │ │ ├── runOnBackground.ts │ │ │ │ ├── runOnMainThread.ts │ │ │ │ ├── transformToWorklet.ts │ │ │ │ ├── workletRef.ts │ │ │ │ └── workletRefPool.ts │ │ ├── tsconfig.json │ │ ├── types │ │ │ ├── internal-preact.d.ts │ │ │ └── types.d.ts │ │ └── vitest.config.ts │ ├── testing-library │ │ ├── .npmignore │ │ ├── README.md │ │ ├── etc │ │ │ └── react-lynx-testing-library.api.md │ │ ├── loaders │ │ │ └── jsx-loader.js │ │ ├── package.json │ │ ├── rslib.config.ts │ │ ├── src │ │ │ ├── __tests__ │ │ │ │ ├── act.test.jsx │ │ │ │ ├── auto-cleanup-skip.test.jsx │ │ │ │ ├── auto-cleanup.test.jsx │ │ │ │ ├── button.test.jsx │ │ │ │ ├── cleanup.test.jsx │ │ │ │ ├── end-to-end.test.jsx │ │ │ │ ├── events.test.jsx │ │ │ │ ├── lazy-bundle │ │ │ │ │ ├── LazyComponent.jsx │ │ │ │ │ └── index.test.jsx │ │ │ │ ├── list.test.jsx │ │ │ │ ├── lynx.test.jsx │ │ │ │ ├── ref.test.jsx │ │ │ │ ├── render.test.jsx │ │ │ │ ├── renderHook.test.jsx │ │ │ │ ├── rerender.test.jsx │ │ │ │ ├── stopwatch.test.jsx │ │ │ │ └── worklet.test.jsx │ │ │ ├── entry.ts │ │ │ ├── env │ │ │ │ └── vitest.ts │ │ │ ├── fire-event.ts │ │ │ ├── index.jsx │ │ │ ├── pure.jsx │ │ │ ├── vitest-global-setup.js │ │ │ └── vitest.config.js │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ ├── types │ │ │ ├── entry.d.ts │ │ │ ├── index.d.ts │ │ │ ├── pure.d.ts │ │ │ └── vitest-config.d.ts │ │ └── vitest.config.ts │ ├── transform │ │ ├── .cargo │ │ │ └── config.toml │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── Cargo.toml │ │ ├── __test__ │ │ │ ├── basic.bench.js │ │ │ ├── css │ │ │ │ ├── __snapshots__ │ │ │ │ │ ├── transform-all-css-scoped-all.js │ │ │ │ │ ├── transform-all-css-scoped-modules.js │ │ │ │ │ ├── transform-all-css-scoped-none.js │ │ │ │ │ ├── transform-imports-css-scoped-all.js │ │ │ │ │ ├── transform-imports-css-scoped-modules.js │ │ │ │ │ ├── transform-imports-css-scoped-none.js │ │ │ │ │ ├── transform-imports-defaults.js │ │ │ │ │ ├── transform-imports-without-jsx-css-scoped-all.js │ │ │ │ │ ├── transform-imports-without-jsx-css-scoped-modules.js │ │ │ │ │ ├── transform-imports-without-jsx-css-scoped-none.js │ │ │ │ │ ├── transform-jsx-css-scoped-all-lazy-bundle.js │ │ │ │ │ ├── transform-jsx-css-scoped-all.js │ │ │ │ │ ├── transform-jsx-css-scoped-modules-lazy-bundle.js │ │ │ │ │ ├── transform-jsx-css-scoped-modules.js │ │ │ │ │ ├── transform-jsx-css-scoped-none-lazy-bundle.js │ │ │ │ │ ├── transform-jsx-css-scoped-none.js │ │ │ │ │ └── transform-jsx-defaults.js │ │ │ │ ├── css-scope.spec.js │ │ │ │ ├── inline-style.spec.js │ │ │ │ └── object-lit-style.spec.js │ │ │ ├── fixture.spec.js │ │ │ └── typescript.spec.js │ │ ├── build.rs │ │ ├── cjs │ │ │ ├── main.cjs │ │ │ ├── main.d.cts │ │ │ └── package.json │ │ ├── index.d.ts │ │ ├── main.js │ │ ├── package.json │ │ ├── scripts │ │ │ └── build_wasm.js │ │ ├── src │ │ │ ├── bundle.rs │ │ │ ├── css.rs │ │ │ ├── esbuild.rs │ │ │ ├── lib.rs │ │ │ ├── swc_plugin_compat │ │ │ │ ├── is_component_class.rs │ │ │ │ ├── mod.rs │ │ │ │ └── simplify_ctor_like_react_lynx_2.rs │ │ │ ├── swc_plugin_compat_post │ │ │ │ └── mod.rs │ │ │ ├── swc_plugin_css_scope │ │ │ │ └── mod.rs │ │ │ ├── swc_plugin_define_dce │ │ │ │ └── mod.rs │ │ │ ├── swc_plugin_directive_dce │ │ │ │ └── mod.rs │ │ │ ├── swc_plugin_dynamic_import │ │ │ │ └── mod.rs │ │ │ ├── swc_plugin_extract_str │ │ │ │ └── mod.rs │ │ │ ├── swc_plugin_inject │ │ │ │ └── mod.rs │ │ │ ├── swc_plugin_refresh │ │ │ │ └── mod.rs │ │ │ ├── swc_plugin_shake │ │ │ │ ├── README.md │ │ │ │ ├── is_component_class.rs │ │ │ │ └── mod.rs │ │ │ ├── swc_plugin_snapshot │ │ │ │ ├── attr_name.rs │ │ │ │ ├── jsx_helpers.rs │ │ │ │ ├── mod.rs │ │ │ │ └── slot_marker.rs │ │ │ ├── swc_plugin_worklet │ │ │ │ ├── decl_collect.rs │ │ │ │ ├── extract_ident.rs │ │ │ │ ├── gen_stmt.rs │ │ │ │ ├── globals.rs │ │ │ │ ├── hash.rs │ │ │ │ ├── mod.rs │ │ │ │ └── worklet_type.rs │ │ │ ├── swc_plugin_worklet_post_process │ │ │ │ └── mod.rs │ │ │ ├── target.rs │ │ │ ├── utils.rs │ │ │ └── wasm.js │ │ ├── tests │ │ │ └── __swc_snapshots__ │ │ │ │ └── src │ │ │ │ ├── swc_plugin_compat │ │ │ │ └── mod.rs │ │ │ │ │ ├── should_add_component_element.js │ │ │ │ │ ├── should_add_component_element_compiler_only.js │ │ │ │ │ ├── should_add_component_element_embedded.js │ │ │ │ │ ├── should_add_component_element_embedded_compiler_only.js │ │ │ │ │ ├── should_add_component_is_import.js │ │ │ │ │ ├── should_change_runtime_pkg.js │ │ │ │ │ ├── should_handle_recursive.js │ │ │ │ │ ├── should_left_no_remove_component_element_attr.js │ │ │ │ │ ├── should_not_handle_jsx_member_expression.js │ │ │ │ │ ├── should_not_rename_view_in_scope.js │ │ │ │ │ ├── should_not_rename_view_redeclaration.js │ │ │ │ │ ├── should_remove_component_attr_regex.js │ │ │ │ │ ├── should_rename_view.js │ │ │ │ │ ├── should_simplify_ctor.js │ │ │ │ │ ├── should_simplify_ctor_correct_order.js │ │ │ │ │ ├── should_simplify_ctor_not_remain_local_decls.js │ │ │ │ │ ├── should_simplify_ctor_not_remain_local_decls_with_macro.js │ │ │ │ │ ├── should_simplify_ctor_not_remain_local_decls_with_spread.js │ │ │ │ │ ├── should_transform_event_props_1.js │ │ │ │ │ └── should_transform_event_props_2.js │ │ │ │ ├── swc_plugin_compat_post │ │ │ │ └── mod.rs │ │ │ │ │ ├── should_compat_dark_mode.js │ │ │ │ │ └── should_compat_dark_mode_custom_theme_expr.js │ │ │ │ ├── swc_plugin_css_scope │ │ │ │ └── mod.rs │ │ │ │ │ ├── scoped_all_transform_imports.js │ │ │ │ │ ├── scoped_all_transform_imports_without_jsx.js │ │ │ │ │ ├── scoped_modules_transform_imports.js │ │ │ │ │ ├── scoped_modules_transform_imports_without_jsx.js │ │ │ │ │ ├── scoped_none_transform_imports.js │ │ │ │ │ └── scoped_none_transform_imports_without_jsx.js │ │ │ │ ├── swc_plugin_define_dce │ │ │ │ └── mod.rs │ │ │ │ │ ├── should_be_able_to_define_object.js │ │ │ │ │ ├── should_keep_only_true_branch.js │ │ │ │ │ ├── should_keep_only_true_branch_if_else_if.js │ │ │ │ │ ├── should_keep_only_true_branch_with_unary_operator.js │ │ │ │ │ ├── should_not_crash_when_eval_failed.js │ │ │ │ │ ├── should_not_eval_bad_case_modifying.js │ │ │ │ │ ├── should_not_replace_to_lit_when_resolved.js │ │ │ │ │ ├── should_replace_to_lit.js │ │ │ │ │ └── should_replace_to_lit_recur.js │ │ │ │ ├── swc_plugin_directive_dce │ │ │ │ └── mod.rs │ │ │ │ │ ├── should_do_nothing_in_mixed_target.js │ │ │ │ │ ├── should_do_nothing_when_arrow_function_return_directive.js │ │ │ │ │ ├── should_eliminate_fn_body_in_component_props.js │ │ │ │ │ ├── should_eliminate_fn_decl.js │ │ │ │ │ ├── should_eliminate_js_only_but_keep_constructor.js │ │ │ │ │ ├── should_eliminate_js_only_class_method.js │ │ │ │ │ ├── should_eliminate_js_only_class_property.js │ │ │ │ │ ├── should_eliminate_js_only_embedded.js │ │ │ │ │ └── should_eliminate_native_modules_in_default_params.js │ │ │ │ ├── swc_plugin_dynamic_import │ │ │ │ └── mod.rs │ │ │ │ │ ├── should_not_import_lazy.js │ │ │ │ │ └── should_transform_import_call.js │ │ │ │ ├── swc_plugin_extract_str │ │ │ │ └── mod.rs │ │ │ │ │ ├── should_extract_str.js │ │ │ │ │ └── should_extract_str_with_arr.js │ │ │ │ ├── swc_plugin_inject │ │ │ │ └── mod.rs │ │ │ │ │ ├── should_inject.js │ │ │ │ │ └── should_inject_callee.js │ │ │ │ ├── swc_plugin_refresh │ │ │ │ └── mod.rs │ │ │ │ │ ├── should_handle_basic.js │ │ │ │ │ ├── should_handle_custom_library.js │ │ │ │ │ ├── should_handle_function_parameter.js │ │ │ │ │ ├── should_handle_import_computed.js │ │ │ │ │ ├── should_handle_import_default.js │ │ │ │ │ ├── should_handle_import_named_computed.js │ │ │ │ │ ├── should_handle_import_namespace_computed.js │ │ │ │ │ ├── should_handle_init_value.js │ │ │ │ │ ├── should_handle_local_ident.js │ │ │ │ │ └── should_handle_multiple_index.js │ │ │ │ ├── swc_plugin_shake │ │ │ │ └── mod.rs │ │ │ │ │ ├── only_shake_class_like_react_component_class.js │ │ │ │ │ ├── should_keep_access_inside_class_property_iife.js │ │ │ │ │ ├── should_keep_constructor_and_used.js │ │ │ │ │ ├── should_keep_indirect.js │ │ │ │ │ ├── should_keep_render_and_used.js │ │ │ │ │ ├── should_keep_state_and_remove_other.js │ │ │ │ │ ├── should_keep_with_nested_class.js │ │ │ │ │ ├── should_not_remove_in_scope_id.js │ │ │ │ │ ├── should_not_remove_test_with_other_runtime.js │ │ │ │ │ ├── should_remove_test.js │ │ │ │ │ ├── should_remove_unused_indirect.js │ │ │ │ │ └── should_remove_use_effect_param.js │ │ │ │ ├── swc_plugin_snapshot │ │ │ │ ├── mod.rs │ │ │ │ │ ├── basic_component.js │ │ │ │ │ ├── basic_component_with_static_sibling.js │ │ │ │ │ ├── basic_component_with_static_sibling_jsx.js │ │ │ │ │ ├── basic_component_with_static_sibling_jsx_dev.js │ │ │ │ │ ├── basic_event.js │ │ │ │ │ ├── basic_expr_container.js │ │ │ │ │ ├── basic_expr_container_with_static_sibling.js │ │ │ │ │ ├── basic_full_static.js │ │ │ │ │ ├── basic_full_static_snapshot_extract.js │ │ │ │ │ ├── basic_full_static_snapshot_extract_it.js │ │ │ │ │ ├── basic_list.js │ │ │ │ │ ├── basic_list_toplevel.js │ │ │ │ │ ├── basic_list_with_fragment.js │ │ │ │ │ ├── basic_ref.js │ │ │ │ │ ├── basic_spread.js │ │ │ │ │ ├── basic_timing_flag.js │ │ │ │ │ ├── empty_module.js │ │ │ │ │ ├── gesture.js │ │ │ │ │ ├── inline_style_literal.js │ │ │ │ │ ├── inline_style_literal_unknown_property.js │ │ │ │ │ ├── mode_development_spread.js │ │ │ │ │ ├── page_component.js │ │ │ │ │ ├── page_element.js │ │ │ │ │ ├── page_element_dev.js │ │ │ │ │ ├── should_escape_newline_character.js │ │ │ │ │ ├── should_extract_css_id.js │ │ │ │ │ ├── should_extract_css_id_dynamic_component.js │ │ │ │ │ ├── should_extract_css_id_dynamic_component_without_css_id.js │ │ │ │ │ ├── should_extract_css_id_without_css_id.js │ │ │ │ │ ├── should_inject_implicit_flatten.js │ │ │ │ │ ├── should_static_extract_dynamic_inline_style.js │ │ │ │ │ ├── should_static_extract_inline_style.js │ │ │ │ │ ├── should_wrap_dynamic_key.js │ │ │ │ │ └── worklet.js │ │ │ │ └── slot_marker.rs │ │ │ │ │ └── should_wrap_dynamic_part.js │ │ │ │ ├── swc_plugin_worklet │ │ │ │ └── mod.rs │ │ │ │ │ ├── class_in_worklet_1.js │ │ │ │ │ ├── should_capture_env_js.js │ │ │ │ │ ├── should_capture_env_lepus.js │ │ │ │ │ ├── should_extract_ident_from_this_js.js │ │ │ │ │ ├── should_extract_ident_from_this_lepus.js │ │ │ │ │ ├── should_extract_idents_outside_of_ctx.js │ │ │ │ │ ├── should_extract_member_expr_2_js.js │ │ │ │ │ ├── should_extract_member_expr_2_lepus.js │ │ │ │ │ ├── should_extract_member_expr_3_js.js │ │ │ │ │ ├── should_extract_member_expr_3_lepus.js │ │ │ │ │ ├── should_extract_member_expr_4_js.js │ │ │ │ │ ├── should_extract_member_expr_4_lepus.js │ │ │ │ │ ├── should_extract_member_expr_js.js │ │ │ │ │ ├── should_extract_member_expr_lepus.js │ │ │ │ │ ├── should_not_capture_globals.js │ │ │ │ │ ├── should_not_capture_type_annotations.js │ │ │ │ │ ├── should_not_destructure_from_closure.js │ │ │ │ │ ├── should_not_extract_catch_clause_params.js │ │ │ │ │ ├── should_not_extract_ident_from_this.js │ │ │ │ │ ├── should_not_extract_idents_inside_of_ctx.js │ │ │ │ │ ├── should_not_transform_constructor.js │ │ │ │ │ ├── should_not_transform_getter_and_setter.js │ │ │ │ │ ├── should_not_transform_recursively.js │ │ │ │ │ ├── should_not_transform_when_wrong_directives.js │ │ │ │ │ ├── should_transform_arrow_function.js │ │ │ │ │ ├── should_transform_fn_decl_js.js │ │ │ │ │ ├── should_transform_fn_decl_lepus.js │ │ │ │ │ ├── should_transform_function_expr.js │ │ │ │ │ ├── should_transform_in_class_js.js │ │ │ │ │ ├── should_transform_in_class_lepus.js │ │ │ │ │ ├── should_transform_in_class_property_js.js │ │ │ │ │ ├── should_transform_in_class_property_lepus.js │ │ │ │ │ ├── should_transform_in_class_static_js.js │ │ │ │ │ ├── should_transform_in_class_static_lepus.js │ │ │ │ │ ├── should_transform_in_class_static_property_js.js │ │ │ │ │ ├── should_transform_in_class_static_property_lepus.js │ │ │ │ │ ├── should_transform_js.js │ │ │ │ │ ├── should_transform_js_fn_in_run_on_js_js.js │ │ │ │ │ ├── should_transform_js_fn_in_run_on_js_lepus.js │ │ │ │ │ ├── should_transform_js_general.js │ │ │ │ │ ├── should_transform_lepus.js │ │ │ │ │ ├── should_transform_lepus_general.js │ │ │ │ │ ├── should_transform_lepus_general_mixed.js │ │ │ │ │ ├── should_transform_multiple_worklets.js │ │ │ │ │ ├── should_transform_multiple_worklets_in_func.js │ │ │ │ │ ├── should_transform_ui_worklet_js.js │ │ │ │ │ └── should_transform_ui_worklet_lepus.js │ │ │ │ └── swc_plugin_worklet_post_process │ │ │ │ └── mod.rs │ │ │ │ ├── should_transform_worklet.js │ │ │ │ └── should_transform_worklet_2.js │ │ ├── turbo.json │ │ └── vitest.config.ts │ ├── tsconfig.json │ ├── turbo.json │ ├── types │ │ ├── react.d.ts │ │ └── react.docs.d.ts │ └── worklet-runtime │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── __test__ │ │ ├── delayWorkletEvent.test.js │ │ ├── jsFunctionLifecycle.test.js │ │ ├── runOnBackground.test.js │ │ ├── workletRef.test.js │ │ └── workletRuntime.test.js │ │ ├── package.json │ │ ├── scripts │ │ └── build.js │ │ ├── src │ │ ├── api │ │ │ ├── element.ts │ │ │ ├── lepusQuerySelector.ts │ │ │ └── lynxApi.ts │ │ ├── bindings │ │ │ ├── bindings.ts │ │ │ ├── events.ts │ │ │ ├── index.ts │ │ │ ├── loadRuntime.ts │ │ │ └── types.ts │ │ ├── delayRunOnBackground.ts │ │ ├── delayWorkletEvent.ts │ │ ├── global.ts │ │ ├── hydrate.ts │ │ ├── index.ts │ │ ├── jsFunctionLifecycle.ts │ │ ├── listeners.ts │ │ ├── types │ │ │ ├── dev.d.ts │ │ │ ├── elementApi.d.ts │ │ │ ├── runtimeProxy.d.ts │ │ │ └── systeminfo.d.ts │ │ ├── utils │ │ │ ├── profile.ts │ │ │ └── version.ts │ │ ├── workletRef.ts │ │ └── workletRuntime.ts │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ └── vitest.config.ts ├── rspeedy │ ├── .dprint.jsonc │ ├── core │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── api-extractor.json │ │ ├── bin │ │ │ ├── rspeedy-for-dev.js │ │ │ └── rspeedy.js │ │ ├── client.d.ts │ │ ├── client │ │ │ └── hmr │ │ │ │ └── WebSocketClient.js │ │ ├── etc │ │ │ └── rspeedy.api.md │ │ ├── package.json │ │ ├── register │ │ │ ├── data.d.ts │ │ │ ├── hooks.js │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── rslib.config.ts │ │ ├── src │ │ │ ├── api.ts │ │ │ ├── cli │ │ │ │ ├── build.ts │ │ │ │ ├── commands.ts │ │ │ │ ├── dev.ts │ │ │ │ ├── exit.ts │ │ │ │ ├── init.ts │ │ │ │ ├── inspect.ts │ │ │ │ ├── main.ts │ │ │ │ ├── preview.ts │ │ │ │ └── start.ts │ │ │ ├── config │ │ │ │ ├── defaults.ts │ │ │ │ ├── defineConfig.ts │ │ │ │ ├── dev │ │ │ │ │ ├── client.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── loadConfig.ts │ │ │ │ ├── mergeRspeedyConfig.ts │ │ │ │ ├── output │ │ │ │ │ ├── css-modules.ts │ │ │ │ │ ├── dist-path.ts │ │ │ │ │ ├── filename.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── minify.ts │ │ │ │ │ └── source-map.ts │ │ │ │ ├── performance │ │ │ │ │ ├── build-cache.ts │ │ │ │ │ ├── chunk-split.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── rsbuild │ │ │ │ │ ├── entry.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── server │ │ │ │ │ └── index.ts │ │ │ │ ├── source │ │ │ │ │ ├── decorators.ts │ │ │ │ │ ├── entry.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── transformImport.ts │ │ │ │ ├── tools │ │ │ │ │ ├── css-extract.ts │ │ │ │ │ ├── css-loader.ts │ │ │ │ │ └── index.ts │ │ │ │ └── validate.ts │ │ │ ├── create-rspeedy.ts │ │ │ ├── debug.ts │ │ │ ├── index.ts │ │ │ ├── plugins │ │ │ │ ├── api.plugin.ts │ │ │ │ ├── chunkLoading.plugin.ts │ │ │ │ ├── dev.plugin.ts │ │ │ │ ├── index.ts │ │ │ │ ├── inspect.plugin.ts │ │ │ │ ├── minify.plugin.ts │ │ │ │ ├── optimization.plugin.ts │ │ │ │ ├── output.plugin.ts │ │ │ │ ├── resolve.plugin.ts │ │ │ │ ├── rsdoctor.plugin.ts │ │ │ │ ├── sourcemap.plugin.ts │ │ │ │ ├── stats.plugin.ts │ │ │ │ ├── swc.plugin.ts │ │ │ │ └── target.plugin.ts │ │ │ ├── utils │ │ │ │ ├── getESVersionTarget.ts │ │ │ │ ├── is-ci.ts │ │ │ │ ├── is-lynx.ts │ │ │ │ └── is-web.ts │ │ │ ├── version.ts │ │ │ └── webpack │ │ │ │ ├── CompilationIdPlugin.ts │ │ │ │ ├── EvalSourceMapDevToolPlugin.ts │ │ │ │ ├── ProvidePlugin.ts │ │ │ │ └── SourceMapDevToolPlugin.ts │ │ ├── test │ │ │ ├── cli │ │ │ │ ├── build.test.ts │ │ │ │ ├── config.test.ts │ │ │ │ ├── dev.test.ts │ │ │ │ ├── fixtures │ │ │ │ │ ├── build-cache │ │ │ │ │ │ ├── build-dependencies.js │ │ │ │ │ │ └── lynx.config.js │ │ │ │ │ ├── environment │ │ │ │ │ │ └── lynx.config.js │ │ │ │ │ ├── hello-world │ │ │ │ │ │ └── lynx.config.ts │ │ │ │ │ ├── invalid-config │ │ │ │ │ │ ├── lynx.config.ts │ │ │ │ │ │ ├── resolve-error-2.ts │ │ │ │ │ │ └── resolve-error.ts │ │ │ │ │ ├── project-with-env │ │ │ │ │ │ ├── .env │ │ │ │ │ │ ├── .env.test │ │ │ │ │ │ └── lynx.config.js │ │ │ │ │ ├── register.js │ │ │ │ │ ├── register │ │ │ │ │ │ ├── foo.ts │ │ │ │ │ │ └── with-query.ts │ │ │ │ │ ├── start-invalid-entry-point │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── start-invalid-package-json │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── start-no-dependencies │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── start │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ └── @lynx-js │ │ │ │ │ │ │ │ └── rspeedy │ │ │ │ │ │ │ │ └── lib │ │ │ │ │ │ │ │ └── cli │ │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── watch-files │ │ │ │ │ │ ├── lynx.config.js │ │ │ │ │ │ └── object.js │ │ │ │ ├── help.test.ts │ │ │ │ ├── inspect.test.ts │ │ │ │ ├── main.test.ts │ │ │ │ ├── preview.test.ts │ │ │ │ ├── register.test.ts │ │ │ │ └── start.test.ts │ │ │ ├── client │ │ │ │ ├── bar.svg │ │ │ │ ├── baz.gif │ │ │ │ ├── env.test-d.ts │ │ │ │ ├── foo.png │ │ │ │ ├── import-meta.d.ts │ │ │ │ ├── simple.module.css │ │ │ │ ├── simple.module.less │ │ │ │ └── simple.module.scss │ │ │ ├── config │ │ │ │ ├── defineConfig.test-d.ts │ │ │ │ ├── defineConfig.test.ts │ │ │ │ ├── dev.test-d.ts │ │ │ │ ├── fixtures │ │ │ │ │ ├── cjs │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── default │ │ │ │ │ │ │ ├── config.js │ │ │ │ │ │ │ ├── config.mjs │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── esm-import-esm.js │ │ │ │ │ │ ├── export-default.ts │ │ │ │ │ │ ├── lynx.config.js │ │ │ │ │ │ ├── lynx.config.mts │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ └── esm-pkg │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── custom │ │ │ │ │ │ ├── const-enum.ts │ │ │ │ │ │ ├── custom-cts.config.ts │ │ │ │ │ │ ├── custom.config.cjs │ │ │ │ │ │ ├── custom.config.js │ │ │ │ │ │ ├── custom.cts │ │ │ │ │ │ ├── custom.mts │ │ │ │ │ │ └── enum.ts │ │ │ │ │ ├── default │ │ │ │ │ │ └── lynx.config.ts │ │ │ │ │ ├── error │ │ │ │ │ │ ├── invalid.js │ │ │ │ │ │ └── throw.js │ │ │ │ │ └── order │ │ │ │ │ │ ├── lynx.config.js │ │ │ │ │ │ └── lynx.config.ts │ │ │ │ ├── index.test.ts │ │ │ │ ├── loadConfig.bench.ts │ │ │ │ ├── loadConfig.test.ts │ │ │ │ ├── mergeRspeedyConfig.test.ts │ │ │ │ ├── minify.test-d.ts │ │ │ │ ├── mode.test.ts │ │ │ │ ├── output.test-d.ts │ │ │ │ ├── output │ │ │ │ │ └── inline-scripts.test.ts │ │ │ │ ├── performance.test-d.ts │ │ │ │ ├── performance │ │ │ │ │ └── buildCache.test.ts │ │ │ │ ├── plugins.test-d.ts │ │ │ │ ├── rsbuild.test.ts │ │ │ │ ├── server.test-d.ts │ │ │ │ ├── source │ │ │ │ │ ├── assetsInclude.test-d.ts │ │ │ │ │ ├── decorators.test-d.ts │ │ │ │ │ ├── define.test-d.ts │ │ │ │ │ ├── entry.test-d.ts │ │ │ │ │ ├── exclude.test-d.ts │ │ │ │ │ ├── include.test-d.ts │ │ │ │ │ ├── preEntry.test-d.ts │ │ │ │ │ ├── transformImport.test-d.ts │ │ │ │ │ └── tsconfig.test-d.ts │ │ │ │ ├── tools │ │ │ │ │ └── tools.test-d.ts │ │ │ │ └── validate.test.ts │ │ │ ├── createRspeedy.test.ts │ │ │ ├── createStubRspeedy.ts │ │ │ ├── getLoaderOptions.ts │ │ │ ├── getRandomNumberInRange.ts │ │ │ └── plugins │ │ │ │ ├── __snapshots__ │ │ │ │ ├── minify.plugin.test.ts.snap │ │ │ │ └── output.plugin.test.ts.snap │ │ │ │ ├── chunkLoading.plugin.test.ts │ │ │ │ ├── dev.plugin.test.ts │ │ │ │ ├── findIp.test.ts │ │ │ │ ├── fixtures │ │ │ │ └── hello-world │ │ │ │ │ └── index.js │ │ │ │ ├── minify.plugin.test.ts │ │ │ │ ├── optimization.plugin.test.ts │ │ │ │ ├── output.plugin.test.ts │ │ │ │ ├── resolve.plugin.test.ts │ │ │ │ ├── rsdoctor.plugin.test.ts │ │ │ │ ├── sourcemap.plugin.test.ts │ │ │ │ ├── stats.plugin.test.ts │ │ │ │ ├── swc.plugin.test.ts │ │ │ │ └── target.plugin.test.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ └── vitest.config.ts │ ├── create-rspeedy │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── rslib.config.ts │ │ ├── src │ │ │ └── index.ts │ │ ├── template-common │ │ │ ├── README.md │ │ │ ├── gitignore │ │ │ └── src │ │ │ │ ├── App.css │ │ │ │ └── assets │ │ │ │ ├── arrow.png │ │ │ │ ├── lynx-logo.png │ │ │ │ └── react-logo.png │ │ ├── template-react-js │ │ │ ├── lynx.config.js │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── App.jsx │ │ │ │ └── index.jsx │ │ ├── template-react-ts │ │ │ ├── lynx.config.ts │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── App.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── rspeedy-env.d.ts │ │ │ └── tsconfig.json │ │ ├── template-react-vitest-rltl-js │ │ │ ├── lynx.config.js │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── App.jsx │ │ │ │ ├── __tests__ │ │ │ │ │ └── index.test.jsx │ │ │ │ └── index.jsx │ │ │ └── vitest.config.js │ │ ├── template-react-vitest-rltl-ts │ │ │ ├── lynx.config.ts │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── App.tsx │ │ │ │ ├── __tests__ │ │ │ │ │ └── index.test.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── rspeedy-env.d.ts │ │ │ ├── tsconfig.json │ │ │ └── vitest.config.ts │ │ ├── tsconfig.json │ │ └── turbo.json │ ├── plugin-qrcode │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── api-extractor.json │ │ ├── etc │ │ │ └── qrcode-rsbuild-plugin.api.md │ │ ├── package.json │ │ ├── rslib.config.ts │ │ ├── src │ │ │ ├── generateDevUrls.ts │ │ │ ├── index.ts │ │ │ ├── shortcuts.ts │ │ │ └── showQRCode.ts │ │ ├── test │ │ │ ├── fixtures │ │ │ │ ├── error │ │ │ │ │ └── index.js │ │ │ │ └── hello-world │ │ │ │ │ └── index.js │ │ │ ├── index.test.ts │ │ │ ├── port.ts │ │ │ ├── preview.test.ts │ │ │ └── shortcuts.test.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ └── vitest.config.ts │ ├── plugin-react-alias │ │ ├── CHANGELOG.md │ │ ├── api-extractor.json │ │ ├── etc │ │ │ └── react-alias-rsbuild-plugin.api.md │ │ ├── package.json │ │ ├── rslib.config.ts │ │ ├── src │ │ │ └── index.ts │ │ ├── test │ │ │ ├── include.test.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ └── vitest.config.ts │ ├── plugin-react │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── api-extractor.json │ │ ├── etc │ │ │ └── react-rsbuild-plugin.api.md │ │ ├── package.json │ │ ├── rslib.config.ts │ │ ├── src │ │ │ ├── alias.ts │ │ │ ├── backgroundOnly.ts │ │ │ ├── css.ts │ │ │ ├── entry.ts │ │ │ ├── generator.ts │ │ │ ├── index.ts │ │ │ ├── lazy.ts │ │ │ ├── loaders.ts │ │ │ ├── loaders │ │ │ │ ├── ignore-css-loader.ts │ │ │ │ └── invalid-import-error-loader.ts │ │ │ ├── pluginReactLynx.ts │ │ │ ├── refresh.ts │ │ │ ├── splitChunks.ts │ │ │ ├── swc.ts │ │ │ └── validate.ts │ │ ├── test │ │ │ ├── background-only.test.ts │ │ │ ├── basic.test.ts │ │ │ ├── config.test.ts │ │ │ ├── css.test.ts │ │ │ ├── fixtures │ │ │ │ ├── background-only │ │ │ │ │ ├── backgroundCall.tsx │ │ │ │ │ ├── fail.tsx │ │ │ │ │ └── success.tsx │ │ │ │ ├── basic.tsx │ │ │ │ ├── defineDCE │ │ │ │ │ └── basic.js │ │ │ │ ├── postcss │ │ │ │ │ └── postcss.config.js │ │ │ │ ├── special-var-name │ │ │ │ │ ├── Behavior.jsx │ │ │ │ │ ├── Card │ │ │ │ │ │ └── Card.js │ │ │ │ │ ├── Component.js │ │ │ │ │ ├── ReactLynx │ │ │ │ │ │ └── index.js │ │ │ │ │ └── index.jsx │ │ │ │ └── standalone-lazy-bundle │ │ │ │ │ └── index.tsx │ │ │ ├── generator.test.ts │ │ │ ├── getLoaderOptions.ts │ │ │ ├── lazy.test.ts │ │ │ ├── refresh.test.ts │ │ │ ├── stub-rspeedy-api.plugin.ts │ │ │ ├── swc-config.test.ts │ │ │ ├── tsconfig.json │ │ │ ├── validate.test.ts │ │ │ └── web.test.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ └── vitest.config.ts │ ├── tsconfig.json │ ├── upgrade-rspeedy │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __mocks__ │ │ │ └── fs.cjs │ │ ├── package.json │ │ ├── rslib.config.ts │ │ ├── src │ │ │ ├── install.ts │ │ │ ├── main.ts │ │ │ ├── upgrade-rspeedy.ts │ │ │ └── version.ts │ │ ├── test │ │ │ ├── install.test.ts │ │ │ └── main.test.ts │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ └── vitest.config.ts │ └── websocket │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── api-extractor.json │ │ ├── etc │ │ └── websocket.api.md │ │ ├── package.json │ │ ├── src │ │ ├── WebSocket.ts │ │ ├── WebSocketImpl.ts │ │ └── index.ts │ │ ├── test │ │ ├── WebSocket.test.ts │ │ └── stubWebSocketModule.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ └── vitest.config.ts ├── testing-library │ ├── README.md │ ├── examples │ │ └── basic │ │ │ ├── .gitignore │ │ │ ├── lynx.config.ts │ │ │ ├── package.json │ │ │ ├── src │ │ │ ├── App.tsx │ │ │ ├── __tests__ │ │ │ │ └── index.test.tsx │ │ │ ├── index.tsx │ │ │ └── rspeedy-env.d.ts │ │ │ ├── tsconfig.json │ │ │ └── vitest.config.ts │ └── testing-environment │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── api-extractor.json │ │ ├── etc │ │ ├── test-environment.api.md │ │ └── testing-environment.api.md │ │ ├── package.json │ │ ├── rslib.config.ts │ │ ├── src │ │ ├── __tests__ │ │ │ ├── basic.test.js │ │ │ └── to-have-text-content.test.js │ │ ├── env │ │ │ └── vitest │ │ │ │ └── index.ts │ │ ├── index.ts │ │ ├── lynx │ │ │ ├── ElementPAPI.ts │ │ │ └── GlobalThis.ts │ │ └── util.ts │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ └── vitest.config.mts ├── third-party │ ├── tailwind-preset │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── __tests__ │ │ │ │ ├── config.test.ts │ │ │ │ ├── styles.css │ │ │ │ ├── tailwind.config.ts │ │ │ │ └── test-content.tsx │ │ │ ├── helpers.ts │ │ │ ├── index.d.ts │ │ │ ├── lynx.ts │ │ │ └── plugins │ │ │ │ └── lynx │ │ │ │ ├── display.ts │ │ │ │ ├── index.ts │ │ │ │ ├── position.ts │ │ │ │ ├── rotate.ts │ │ │ │ ├── scale.ts │ │ │ │ ├── textDecoration.ts │ │ │ │ ├── transform.ts │ │ │ │ └── translate.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ └── tsconfig.json ├── tools │ ├── canary-release │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── package.json │ │ └── snapshot.js │ ├── css-serializer │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── package.json │ │ ├── src │ │ │ ├── generateHref.ts │ │ │ ├── index.ts │ │ │ ├── parse.ts │ │ │ ├── plugins │ │ │ │ ├── index.ts │ │ │ │ └── removeFunctionWhiteSpace.ts │ │ │ ├── toLoc.ts │ │ │ ├── toString.ts │ │ │ └── types │ │ │ │ ├── LynxStyleNode.ts │ │ │ │ ├── Plugin.ts │ │ │ │ └── index.ts │ │ ├── test │ │ │ ├── __preparation__ │ │ │ │ ├── aspect-ratio.css │ │ │ │ ├── attribute.css │ │ │ │ ├── break-rule.css │ │ │ │ ├── clip-path.css │ │ │ │ ├── color.css │ │ │ │ ├── comment.css │ │ │ │ ├── css-variable-with-shorthand-properties.css │ │ │ │ ├── css-variable.css │ │ │ │ ├── dimension.css │ │ │ │ ├── font-face-base64.css │ │ │ │ ├── font-face.css │ │ │ │ ├── function.css │ │ │ │ ├── import.css │ │ │ │ ├── important.css │ │ │ │ ├── keyframes.css │ │ │ │ ├── no-space-within-name-value.css │ │ │ │ ├── rules.css │ │ │ │ ├── single-at-rule.css │ │ │ │ ├── slash-selector.css │ │ │ │ ├── string-value.css │ │ │ │ └── url-contain-identifier.css │ │ │ ├── __snapshots__ │ │ │ │ └── lynx.spec.ts.snap │ │ │ ├── lynx.spec.ts │ │ │ └── utils.ts │ │ ├── tsconfig.json │ │ └── vitest.config.ts │ ├── tsconfig.json │ └── vitest-setup │ │ ├── LICENSE │ │ ├── expect.d.ts │ │ ├── package.json │ │ ├── setup.ts │ │ └── tsconfig.json ├── web-platform │ ├── .nycrc.json │ ├── offscreen-document │ │ ├── CHANGELOG.md │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── index.ts │ │ │ ├── main │ │ │ │ ├── index.ts │ │ │ │ └── initOffscreenDocument.ts │ │ │ ├── types │ │ │ │ ├── ElementOperation.ts │ │ │ │ └── index.ts │ │ │ └── webworker │ │ │ │ ├── OffscreenCSSStyleDeclaration.ts │ │ │ │ ├── OffscreenDocument.ts │ │ │ │ ├── OffscreenElement.ts │ │ │ │ ├── OffscreenEvent.ts │ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── readme.md │ ├── tsconfig.json │ ├── web-constants │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── constants.ts │ │ │ ├── endpoints.ts │ │ │ ├── eventName.ts │ │ │ ├── index.ts │ │ │ ├── types │ │ │ │ ├── Cloneable.ts │ │ │ │ ├── Element.ts │ │ │ │ ├── EventType.ts │ │ │ │ ├── FlushElementTreeOptions.ts │ │ │ │ ├── LynxContextEventTarget.ts │ │ │ │ ├── LynxModule.ts │ │ │ │ ├── MainThreadStartConfigs.ts │ │ │ │ ├── NapiModules.ts │ │ │ │ ├── NativeApp.ts │ │ │ │ ├── NativeModules.ts │ │ │ │ ├── PageConfig.ts │ │ │ │ ├── Performance.ts │ │ │ │ ├── ProcessDataCallback.ts │ │ │ │ ├── StyleInfo.ts │ │ │ │ ├── UpdateDataOptions.ts │ │ │ │ └── index.ts │ │ │ └── utils │ │ │ │ ├── LynxCrossThreadContext.ts │ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── web-core-server │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── package.json │ │ ├── src │ │ │ ├── createLynxView.ts │ │ │ ├── dumpHTMLString.ts │ │ │ ├── index.ts │ │ │ └── utils │ │ │ │ └── loadTemplate.ts │ │ └── tsconfig.json │ ├── web-core │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── index.css │ │ ├── package.json │ │ ├── src │ │ │ ├── apis │ │ │ │ ├── LynxView.ts │ │ │ │ └── createLynxView.ts │ │ │ ├── index.ts │ │ │ ├── types │ │ │ │ └── UpdatePageCallback.ts │ │ │ ├── uiThread │ │ │ │ ├── bootWorkers.ts │ │ │ │ ├── createRenderAllOnUI.ts │ │ │ │ ├── createRenderMultiThread.ts │ │ │ │ ├── crossThreadHandlers │ │ │ │ │ ├── createDispose.ts │ │ │ │ │ ├── createUpdateData.ts │ │ │ │ │ ├── queryNodes.ts │ │ │ │ │ ├── registerDispatchLynxViewEventHandler.ts │ │ │ │ │ ├── registerFlushElementTreeHandler.ts │ │ │ │ │ ├── registerInvokeUIMethodHandler.ts │ │ │ │ │ ├── registerNapiModulesCallHandler.ts │ │ │ │ │ ├── registerNativeModulesCallHandler.ts │ │ │ │ │ ├── registerReportErrorHandler.ts │ │ │ │ │ ├── registerSelectComponentHandler.ts │ │ │ │ │ ├── registerSetNativePropsHandler.ts │ │ │ │ │ ├── registerTriggerComponentEventHandler.ts │ │ │ │ │ └── registerTriggerElementMethodEndpointHandler.ts │ │ │ │ ├── startBackground.ts │ │ │ │ └── startUIThread.ts │ │ │ └── utils │ │ │ │ ├── browser.ts │ │ │ │ └── loadTemplate.ts │ │ └── tsconfig.json │ ├── web-elements-compat │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ └── LinearContainer │ │ │ │ ├── LinearContainer.ts │ │ │ │ └── linear-compat.css │ │ └── tsconfig.json │ ├── web-elements-reactive │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── bindSwitchToEventListener.ts │ │ │ ├── bindToAttribute.ts │ │ │ ├── bindToStyle.ts │ │ │ ├── boostedQueueMicrotask.ts │ │ │ ├── component.ts │ │ │ ├── genDomGetter.ts │ │ │ ├── generateRegister.ts │ │ │ ├── html.ts │ │ │ ├── index.ts │ │ │ ├── registerAttributeHandler.ts │ │ │ ├── registerEventStatusChangedHandler.ts │ │ │ └── registerStyleChangeHandler.ts │ │ └── tsconfig.json │ ├── web-elements-template │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── web-elements │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── index.css │ │ ├── package.json │ │ ├── src │ │ │ ├── LynxWrapper │ │ │ │ ├── LynxWrapper.ts │ │ │ │ ├── index.ts │ │ │ │ └── lynx-wrapper.css │ │ │ ├── ScrollView │ │ │ │ ├── FadeEdgeLengthAttribute.ts │ │ │ │ ├── ScrollAttributes.ts │ │ │ │ ├── ScrollIntoView.ts │ │ │ │ ├── ScrollView.ts │ │ │ │ ├── ScrollViewEvents.ts │ │ │ │ ├── index.ts │ │ │ │ └── scroll-view.css │ │ │ ├── XAudioTT │ │ │ │ ├── XAudioAttribute.ts │ │ │ │ ├── XAudioEvents.ts │ │ │ │ ├── XAudioTT.ts │ │ │ │ ├── index.ts │ │ │ │ ├── utils.ts │ │ │ │ └── x-audio-tt.css │ │ │ ├── XCanvas │ │ │ │ ├── CanvasAttributes.ts │ │ │ │ ├── XCanvas.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-canvas.css │ │ │ ├── XFoldViewNg │ │ │ │ ├── XFoldviewHeaderNg.ts │ │ │ │ ├── XFoldviewNg.ts │ │ │ │ ├── XFoldviewNgEvents.ts │ │ │ │ ├── XFoldviewSlotDragNg.ts │ │ │ │ ├── XFoldviewSlotNg.ts │ │ │ │ ├── XFoldviewSlotNgTouchEventsHandler.ts │ │ │ │ ├── XFoldviewToolbarNg.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-foldview-ng.css │ │ │ ├── XImage │ │ │ │ ├── DropShadow.ts │ │ │ │ ├── FilterImage.ts │ │ │ │ ├── ImageEvents.ts │ │ │ │ ├── ImageSrc.ts │ │ │ │ ├── XImage.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-image.css │ │ │ ├── XInput │ │ │ │ ├── InputBaseAttributes.ts │ │ │ │ ├── Placeholder.ts │ │ │ │ ├── XInput.ts │ │ │ │ ├── XInputAttribute.ts │ │ │ │ ├── XInputEvents.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-input.css │ │ │ ├── XList │ │ │ │ ├── ListItem.ts │ │ │ │ ├── XList.ts │ │ │ │ ├── XListAttributes.ts │ │ │ │ ├── XListEvents.ts │ │ │ │ ├── XListWaterfall.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-list.css │ │ │ ├── XOverlayNg │ │ │ │ ├── XOverlayAttributes.ts │ │ │ │ ├── XOverlayNg.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-overlay-ng.css │ │ │ ├── XRefreshView │ │ │ │ ├── XRefreshFooter.ts │ │ │ │ ├── XRefreshHeader.ts │ │ │ │ ├── XRefreshSubElementIntersectionObserver.ts │ │ │ │ ├── XRefreshView.ts │ │ │ │ ├── XRefreshViewEventsEmitter.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-refresh-view.css │ │ │ ├── XSvg │ │ │ │ ├── XSvg.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-svg.css │ │ │ ├── XSwiper │ │ │ │ ├── SwiperItem.ts │ │ │ │ ├── XSwiper.ts │ │ │ │ ├── XSwiperAutoScroll.ts │ │ │ │ ├── XSwiperCircular.ts │ │ │ │ ├── XSwiperEvents.ts │ │ │ │ ├── XSwiperIndicator.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-swiper.css │ │ │ ├── XText │ │ │ │ ├── InlineImage.ts │ │ │ │ ├── InlineText.ts │ │ │ │ ├── InlineTruncation.ts │ │ │ │ ├── RawText.ts │ │ │ │ ├── XText.ts │ │ │ │ ├── XTextTruncation.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-text.css │ │ │ ├── XTextarea │ │ │ │ ├── Placeholder.ts │ │ │ │ ├── TextareaBaseAttributes.ts │ │ │ │ ├── XTextarea.ts │ │ │ │ ├── XTextareaAttributes.ts │ │ │ │ ├── XTextareaEvents.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-textarea.css │ │ │ ├── XView │ │ │ │ ├── BlurRadius.ts │ │ │ │ ├── XBlurView.ts │ │ │ │ ├── XView.ts │ │ │ │ └── index.ts │ │ │ ├── XViewpagerNg │ │ │ │ ├── XViewpagerItemNg.ts │ │ │ │ ├── XViewpagerNg.ts │ │ │ │ ├── XViewpagerNgEvents.ts │ │ │ │ ├── index.ts │ │ │ │ └── x-viewpager-ng.css │ │ │ ├── all.ts │ │ │ ├── common-css │ │ │ │ └── linear.css │ │ │ ├── common │ │ │ │ ├── CommonEventsAndMethods.ts │ │ │ │ ├── bindToIntersectionObserver.ts │ │ │ │ ├── commonEventInitConfiguration.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── convertLengthToPx.ts │ │ │ │ ├── renameEvent.ts │ │ │ │ └── throttle.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── web-explorer │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ │ ├── index.html │ │ ├── index.native-modules.ts │ │ ├── index.ts │ │ ├── manifest.json │ │ ├── package.json │ │ ├── preinstalled │ │ │ ├── homepage.json │ │ │ └── vant-touch.js │ │ ├── rsbuild.config.ts │ │ ├── tsconfig.json │ │ └── turbo.json │ ├── web-mainthread-apis │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── MainThreadLynx.ts │ │ │ ├── MainThreadRuntime.ts │ │ │ ├── crossThreadHandlers │ │ │ │ ├── registerCallLepusMethodHandler.ts │ │ │ │ └── registerGetCustomSectionHandler.ts │ │ │ ├── elementAPI │ │ │ │ ├── ElementThreadElement.ts │ │ │ │ ├── attributeAndProperty │ │ │ │ │ └── attributeAndPropertyFunctions.ts │ │ │ │ ├── domTree │ │ │ │ │ └── domTreeFunctions.ts │ │ │ │ ├── elementCreating │ │ │ │ │ └── elementCreatingFunctions.ts │ │ │ │ ├── event │ │ │ │ │ └── eventFunctions.ts │ │ │ │ └── style │ │ │ │ │ ├── cssPropertyMap.ts │ │ │ │ │ ├── styleFunctions.ts │ │ │ │ │ └── transformInlineStyle.ts │ │ │ ├── index.ts │ │ │ ├── prepareMainThreadAPIs.ts │ │ │ └── utils │ │ │ │ ├── createCrossThreadEvent.ts │ │ │ │ ├── createExposureService.ts │ │ │ │ ├── decodeCssInJs.ts │ │ │ │ └── processStyleInfo.ts │ │ └── tsconfig.json │ ├── web-rsbuild-plugin │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── api-extractor.json │ │ ├── package.json │ │ ├── rslib.config.ts │ │ ├── src │ │ │ ├── index.ts │ │ │ ├── loaders │ │ │ │ └── native-modules.ts │ │ │ └── pluginWebPlatform.ts │ │ ├── tests │ │ │ ├── __snapshots__ │ │ │ │ └── config.test.ts.snap │ │ │ ├── bundle.test.ts │ │ │ ├── config.test.ts │ │ │ ├── fixtures │ │ │ │ ├── index.native-modules.ts │ │ │ │ └── index.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ └── vitest.config.ts │ ├── web-style-transformer │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── index.ts │ │ │ ├── parseFlexShorthand.ts │ │ │ └── transformLynxStyles.ts │ │ └── tsconfig.json │ ├── web-tests │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── lighthouserc.js │ │ ├── package.json │ │ ├── playwright.config.ts │ │ ├── resources │ │ │ ├── NotoSansSC-Regular.woff2 │ │ │ ├── chromium-logo.png │ │ │ ├── ddee519472dd7e73eeb153e78d484db3.mp3 │ │ │ ├── firefox-logo.png │ │ │ ├── font.css │ │ │ ├── inline-image.png │ │ │ ├── lynx-logo.jpeg │ │ │ ├── text.txt │ │ │ └── web-core.main-thread.json │ │ ├── rspack.config.js │ │ ├── scripts │ │ │ └── generate-build-command.js │ │ ├── server.js │ │ ├── shell-project │ │ │ ├── fp-only.ts │ │ │ ├── index.css │ │ │ ├── index.ts │ │ │ ├── lynx-view.ts │ │ │ ├── mainthread-test.ts │ │ │ ├── rpc-test │ │ │ │ ├── endpoints.ts │ │ │ │ ├── index.ts │ │ │ │ └── worker.ts │ │ │ ├── web-core.ts │ │ │ └── web-elements.ts │ │ ├── tests │ │ │ ├── __snapshots__ │ │ │ │ └── server.vitest.spec.ts.snap │ │ │ ├── common.css │ │ │ ├── coverage-fixture.ts │ │ │ ├── fp-only.spec.ts │ │ │ ├── fp-only.spec.ts-snapshots │ │ │ │ ├── basic-css-asset-in-css │ │ │ │ │ └── show-lynx-logo │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ └── config-css-default-overflow-visible-unset │ │ │ │ │ └── index │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ └── index-webkit-linux.png │ │ │ ├── lighthouse.cases.js │ │ │ ├── main-thread-apis.test.ts │ │ │ ├── performance.test.ts │ │ │ ├── react.spec.ts │ │ │ ├── react.spec.ts-snapshots │ │ │ │ ├── api-SelectorQuery │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── api-animate │ │ │ │ │ ├── animate │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── initial │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── api-updateGlobalProps │ │ │ │ │ ├── blue │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── initial │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-css-asset-in-css │ │ │ │ │ └── show-lynx-logo │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-element-scroll-view-scroll-to-index │ │ │ │ │ └── green-blue │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-flex-1 │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-flex-column-align-items │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-flex-column-container-items-align-self │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-flex-column-container-main-axis-justify-content-start-end-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-flex-item-main-axis-content-based-min-size-not-from-content-size-suggestion │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-flex-item-not-shrink-to-zero │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-flex-item-shrink │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-flex-row-container-main-axis-justify-content-start-end-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-flex-with-overflow │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-absolute-not-in-flow │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-child-container-wrap │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-align-items │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-container-items-align-self │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-container-items-layout-gravity │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-container-main-axis-graverty-center │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-container-main-axis-graverty-right-left-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-container-main-axis-graverty-start-end-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-container-main-axis-graverty-top-bottom-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-container-main-axis-justify-content-center │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-container-main-axis-justify-content-right-left-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-container-main-axis-justify-content-start-end-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-column-cross-gravity │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-default-orientation │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-grand-kid-weight │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-graverty-space-between │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-item-do-not-respond-to-flex-basis │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-item-do-not-respond-to-flex │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-item-do-not-shrink │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-item-use-order │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-orientation-horizontal-with-direction │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-orientation-vertical-with-direction │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-row-container-items-layout-gravity │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-row-container-main-axis-graverty-center │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-row-container-main-axis-graverty-right-left-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-row-container-main-axis-graverty-start-end-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-row-container-main-axis-graverty-top-bottom-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-row-container-main-axis-justify-content-right-left-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-row-container-main-axis-justify-content-start-end-with-direction-rtl │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-row-cross-gravity │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-sum-of-item-weight-larger-than-container-weight-sum │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-weight-not-assign-full-free-space │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-weight-sum-equal-to-item-weigth │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── basic-linear-weight-sum-is-zero │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── config-css-default-display-linear-false │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── config-css-default-overflow-visible-unset │ │ │ │ │ └── index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── exposure │ │ │ │ │ ├── api-exposure-area │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── scroll-200-do-not-meet-exposure-area-requirement-chromium-linux.png │ │ │ │ │ │ ├── scroll-200-do-not-meet-exposure-area-requirement-firefox-linux.png │ │ │ │ │ │ ├── scroll-200-do-not-meet-exposure-area-requirement-webkit-linux.png │ │ │ │ │ │ ├── scroll-200-green-chromium-linux.png │ │ │ │ │ │ ├── scroll-200-green-firefox-linux.png │ │ │ │ │ │ └── scroll-200-green-webkit-linux.png │ │ │ │ │ ├── api-exposure-basic │ │ │ │ │ │ ├── 0-initial-chromium-linux.png │ │ │ │ │ │ ├── 0-initial-webkit-linux.png │ │ │ │ │ │ ├── 1-right-yellow-chromium-linux.png │ │ │ │ │ │ ├── 1-right-yellow-webkit-linux.png │ │ │ │ │ │ ├── 2-white-back-chromium-linux.png │ │ │ │ │ │ ├── 2-white-back-webkit-linux.png │ │ │ │ │ │ ├── 3-red-down-chromium-linux.png │ │ │ │ │ │ ├── 3-red-down-webkit-linux.png │ │ │ │ │ │ ├── 4-white-down-back-chromium-linux.png │ │ │ │ │ │ └── 4-white-down-back-webkit-linux.png │ │ │ │ │ ├── api-exposure-custom-event-handler │ │ │ │ │ │ ├── all-green-chromium-linux.png │ │ │ │ │ │ ├── all-green-firefox-linux.png │ │ │ │ │ │ └── all-green-webkit-linux.png │ │ │ │ │ ├── api-exposure-dynamic-screen-margin │ │ │ │ │ │ ├── 0-initial-chromium-linux.png │ │ │ │ │ │ ├── 0-initial-firefox-linux.png │ │ │ │ │ │ ├── 0-initial-webkit-linux.png │ │ │ │ │ │ ├── 1-orange-half-do-trigger-chromium-linux.png │ │ │ │ │ │ ├── 1-orange-half-do-trigger-firefox-linux.png │ │ │ │ │ │ ├── 1-orange-half-do-trigger-webkit-linux.png │ │ │ │ │ │ ├── 2-green-half-not-trigger-chromium-linux.png │ │ │ │ │ │ ├── 2-green-half-not-trigger-firefox-linux.png │ │ │ │ │ │ ├── 2-green-half-not-trigger-webkit-linux.png │ │ │ │ │ │ ├── 3-green-half-do-trigger-chromium-linux.png │ │ │ │ │ │ ├── 3-green-half-do-trigger-firefox-linux.png │ │ │ │ │ │ └── 3-green-half-do-trigger-webkit-linux.png │ │ │ │ │ └── api-exposure-dynamic-ui-margin │ │ │ │ │ │ ├── 0-initial-chromium-linux.png │ │ │ │ │ │ ├── 0-initial-firefox-linux.png │ │ │ │ │ │ ├── 0-initial-webkit-linux.png │ │ │ │ │ │ ├── 1-orange-half-do-trigger-chromium-linux.png │ │ │ │ │ │ ├── 1-orange-half-do-trigger-firefox-linux.png │ │ │ │ │ │ ├── 1-orange-half-do-trigger-webkit-linux.png │ │ │ │ │ │ ├── 2-green-half-not-trigger-chromium-linux.png │ │ │ │ │ │ ├── 2-green-half-not-trigger-firefox-linux.png │ │ │ │ │ │ ├── 2-green-half-not-trigger-webkit-linux.png │ │ │ │ │ │ ├── 3-green-half-do-trigger-chromium-linux.png │ │ │ │ │ │ ├── 3-green-half-do-trigger-firefox-linux.png │ │ │ │ │ │ └── 3-green-half-do-trigger-webkit-linux.png │ │ │ │ ├── image │ │ │ │ │ ├── auto-size-with-padding │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── auto-size │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── basic-element-image-src │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── border-radius │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── placeholder │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── list │ │ │ │ │ ├── basic-element-list-basic │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── basic-element-list-scroll-to-position │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── scroll-to-position-chromium-linux.png │ │ │ │ │ │ ├── scroll-to-position-firefox-linux.png │ │ │ │ │ │ └── scroll-to-position-webkit-linux.png │ │ │ │ ├── lynx-view │ │ │ │ │ └── basic-element-lynx-view-not-auto │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── scroll-view │ │ │ │ │ └── basic-element-scroll-view-fixed │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ └── initial-webkit-linux.png │ │ │ │ ├── svg │ │ │ │ │ ├── hex-color │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── utf8 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── with-css │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── text │ │ │ │ │ ├── baseline │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── basic-element-text-dynamic-text-style-update │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── updated-chromium-linux.png │ │ │ │ │ │ ├── updated-firefox-linux.png │ │ │ │ │ │ └── updated-webkit-linux.png │ │ │ │ │ ├── display-none │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── linear-gradient-color │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── linear-gradient │ │ │ │ │ │ ├── gradient-text-chromium-linux.png │ │ │ │ │ │ ├── gradient-text-firefox-linux.png │ │ │ │ │ │ └── gradient-text-webkit-linux.png │ │ │ │ │ ├── maxlength │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── maxline-with-setData │ │ │ │ │ │ └── index │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── maxline │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── nest-image │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── nest-text │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── nest-view │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── raw-text-new-line │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── set-native-props-with-maxlength │ │ │ │ │ │ └── index │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── tail-color-convert │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── text-selection │ │ │ │ │ │ ├── text-selection-false-boolean-flatten-false-chromium-linux.png │ │ │ │ │ │ ├── text-selection-false-boolean-flatten-false-webkit-linux.png │ │ │ │ │ │ ├── text-selection-false-string-flatten-false-chromium-linux.png │ │ │ │ │ │ ├── text-selection-false-string-flatten-false-webkit-linux.png │ │ │ │ │ │ ├── text-selection-true-boolean-flatten-false-chromium-linux.png │ │ │ │ │ │ ├── text-selection-true-boolean-flatten-false-firefox-linux.png │ │ │ │ │ │ ├── text-selection-true-boolean-flatten-false-webkit-linux.png │ │ │ │ │ │ ├── text-selection-true-string-flatten-false-chromium-linux.png │ │ │ │ │ │ ├── text-selection-true-string-flatten-false-firefox-linux.png │ │ │ │ │ │ └── text-selection-true-string-flatten-false-webkit-linux.png │ │ │ │ │ └── word-break │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── view │ │ │ │ │ └── basic-element-view-border-style-default │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── x-blur-view │ │ │ │ │ ├── basic-element-x-blur-view-blur-radius │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ │ └── basic-element-x-blur-view-default │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ ├── x-foldview-ng │ │ │ │ │ └── basic-element-x-foldview-ng-method-setFoldExpanded │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── should-be-scrolled-by-method-chromium-linux.png │ │ │ │ │ │ ├── should-be-scrolled-by-method-firefox-linux.png │ │ │ │ │ │ └── should-be-scrolled-by-method-webkit-linux.png │ │ │ │ ├── x-input │ │ │ │ │ ├── blur │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── placeholder │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── type │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── x-overlay-ng │ │ │ │ │ ├── counter-test2-could-show-all │ │ │ │ │ │ ├── could-close-all-4-chromium-linux.png │ │ │ │ │ │ ├── could-close-all-4-firefox-linux.png │ │ │ │ │ │ ├── could-open-all-4-chromium-linux.png │ │ │ │ │ │ └── could-open-all-4-firefox-linux.png │ │ │ │ │ ├── demo │ │ │ │ │ │ ├── click-wrapper-dom-hide-dialog-chromium-linux.png │ │ │ │ │ │ ├── click-wrapper-dom-hide-dialog-firefox-linux.png │ │ │ │ │ │ ├── click-wrapper-dom-hide-dialog-webkit-linux.png │ │ │ │ │ │ ├── inital-chromium-linux.png │ │ │ │ │ │ ├── inital-firefox-linux.png │ │ │ │ │ │ ├── inital-webkit-linux.png │ │ │ │ │ │ ├── show-dialog-chromium-linux.png │ │ │ │ │ │ ├── show-dialog-firefox-linux.png │ │ │ │ │ │ └── show-dialog-webkit-linux.png │ │ │ │ │ ├── playground-test-1 │ │ │ │ │ │ ├── click-button-1-chromium-linux.png │ │ │ │ │ │ ├── click-button-1-firefox-linux.png │ │ │ │ │ │ ├── click-button-1-webkit-linux.png │ │ │ │ │ │ ├── click-overlay-content-do-not-through-chromium-linux.png │ │ │ │ │ │ ├── click-overlay-content-do-not-through-firefox-linux.png │ │ │ │ │ │ ├── click-overlay-content-do-not-through-webkit-linux.png │ │ │ │ │ │ ├── click-overlay-out-of-content-to-trigger-bottom-button-chromium-linux.png │ │ │ │ │ │ ├── click-overlay-out-of-content-to-trigger-bottom-button-firefox-linux.png │ │ │ │ │ │ └── click-overlay-out-of-content-to-trigger-bottom-button-webkit-linux.png │ │ │ │ │ ├── playground-test-2 │ │ │ │ │ │ ├── click-button-2-chromium-linux.png │ │ │ │ │ │ ├── click-button-2-firefox-linux.png │ │ │ │ │ │ ├── click-button-2-webkit-linux.png │ │ │ │ │ │ ├── click-close-button-in-overlay-chromium-linux.png │ │ │ │ │ │ ├── click-close-button-in-overlay-firefox-linux.png │ │ │ │ │ │ └── click-close-button-in-overlay-webkit-linux.png │ │ │ │ │ ├── playground-test-3 │ │ │ │ │ │ ├── click-button-3-chromium-linux.png │ │ │ │ │ │ ├── click-button-3-firefox-linux.png │ │ │ │ │ │ └── click-button-3-webkit-linux.png │ │ │ │ │ └── playground-test-4-has-backdrop │ │ │ │ │ │ ├── click-button-4-again-will-handle-by-backdrop-chromium-linux.png │ │ │ │ │ │ ├── click-button-4-again-will-handle-by-backdrop-firefox-linux.png │ │ │ │ │ │ ├── click-button-4-again-will-handle-by-backdrop-webkit-linux.png │ │ │ │ │ │ ├── click-button-4-chromium-linux.png │ │ │ │ │ │ ├── click-button-4-firefox-linux.png │ │ │ │ │ │ ├── click-button-4-webkit-linux.png │ │ │ │ │ │ ├── click-close-button-to-close-overlay-chromium-linux.png │ │ │ │ │ │ ├── click-close-button-to-close-overlay-firefox-linux.png │ │ │ │ │ │ └── click-close-button-to-close-overlay-webkit-linux.png │ │ │ │ ├── x-refresh-view │ │ │ │ │ └── demo │ │ │ │ │ │ ├── initial │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ │ │ ├── pull-down-loaded │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ │ │ ├── pull-down │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ │ │ ├── pull-up-loaded │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ │ │ └── pull-up │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ ├── x-swiper │ │ │ │ │ ├── autoplay-10 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── autoplay-15 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── autoplay-20 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── autoplay-5 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── circular │ │ │ │ │ │ ├── carousel │ │ │ │ │ │ │ ├── index-0-chromium-linux.png │ │ │ │ │ │ │ ├── index-0-firefox-linux.png │ │ │ │ │ │ │ ├── index-0-webkit-linux.png │ │ │ │ │ │ │ ├── index-1-chromium-linux.png │ │ │ │ │ │ │ ├── index-1-firefox-linux.png │ │ │ │ │ │ │ ├── index-1-webkit-linux.png │ │ │ │ │ │ │ ├── index-2-chromium-linux.png │ │ │ │ │ │ │ ├── index-2-firefox-linux.png │ │ │ │ │ │ │ ├── index-2-webkit-linux.png │ │ │ │ │ │ │ ├── index-3-chromium-linux.png │ │ │ │ │ │ │ ├── index-3-firefox-linux.png │ │ │ │ │ │ │ ├── index-3-webkit-linux.png │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ ├── carry │ │ │ │ │ │ │ ├── index-0-chromium-linux.png │ │ │ │ │ │ │ ├── index-0-firefox-linux.png │ │ │ │ │ │ │ ├── index-0-webkit-linux.png │ │ │ │ │ │ │ ├── index-1-chromium-linux.png │ │ │ │ │ │ │ ├── index-1-firefox-linux.png │ │ │ │ │ │ │ ├── index-1-webkit-linux.png │ │ │ │ │ │ │ ├── index-2-chromium-linux.png │ │ │ │ │ │ │ ├── index-2-firefox-linux.png │ │ │ │ │ │ │ ├── index-2-webkit-linux.png │ │ │ │ │ │ │ ├── index-3-chromium-linux.png │ │ │ │ │ │ │ ├── index-3-firefox-linux.png │ │ │ │ │ │ │ ├── index-3-webkit-linux.png │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ ├── coverflow │ │ │ │ │ │ │ ├── index-0-chromium-linux.png │ │ │ │ │ │ │ ├── index-1-chromium-linux.png │ │ │ │ │ │ │ ├── index-2-chromium-linux.png │ │ │ │ │ │ │ ├── index-3-chromium-linux.png │ │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ │ │ ├── flat-coverflow │ │ │ │ │ │ │ ├── index-0-chromium-linux.png │ │ │ │ │ │ │ ├── index-0-firefox-linux.png │ │ │ │ │ │ │ ├── index-0-webkit-linux.png │ │ │ │ │ │ │ ├── index-1-chromium-linux.png │ │ │ │ │ │ │ ├── index-1-firefox-linux.png │ │ │ │ │ │ │ ├── index-1-webkit-linux.png │ │ │ │ │ │ │ ├── index-2-chromium-linux.png │ │ │ │ │ │ │ ├── index-2-firefox-linux.png │ │ │ │ │ │ │ ├── index-2-webkit-linux.png │ │ │ │ │ │ │ ├── index-3-chromium-linux.png │ │ │ │ │ │ │ ├── index-3-firefox-linux.png │ │ │ │ │ │ │ ├── index-3-webkit-linux.png │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ └── normal │ │ │ │ │ │ │ ├── index-0-chromium-linux.png │ │ │ │ │ │ │ ├── index-0-firefox-linux.png │ │ │ │ │ │ │ ├── index-0-webkit-linux.png │ │ │ │ │ │ │ ├── index-1-chromium-linux.png │ │ │ │ │ │ │ ├── index-1-firefox-linux.png │ │ │ │ │ │ │ ├── index-1-webkit-linux.png │ │ │ │ │ │ │ ├── index-2-chromium-linux.png │ │ │ │ │ │ │ ├── index-2-firefox-linux.png │ │ │ │ │ │ │ ├── index-2-webkit-linux.png │ │ │ │ │ │ │ ├── index-3-chromium-linux.png │ │ │ │ │ │ │ ├── index-3-firefox-linux.png │ │ │ │ │ │ │ ├── index-3-webkit-linux.png │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── current-0 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── current-1 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── current-2 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── current-3 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── current-4 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── duration │ │ │ │ │ │ ├── current-1-chromium-linux.png │ │ │ │ │ │ ├── current-1-firefox-linux.png │ │ │ │ │ │ ├── current-1-webkit-linux.png │ │ │ │ │ │ ├── current-2-chromium-linux.png │ │ │ │ │ │ ├── current-2-firefox-linux.png │ │ │ │ │ │ ├── current-2-webkit-linux.png │ │ │ │ │ │ ├── current-3-chromium-linux.png │ │ │ │ │ │ ├── current-3-firefox-linux.png │ │ │ │ │ │ ├── current-3-webkit-linux.png │ │ │ │ │ │ ├── current-4-chromium-linux.png │ │ │ │ │ │ ├── current-4-firefox-linux.png │ │ │ │ │ │ └── current-4-webkit-linux.png │ │ │ │ │ ├── dynamic-status-0 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── dynamic-status-1 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── dynamic-status-2 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── dynamic-status-3 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── dynamic-status-4 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── indicator-color │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── indicator-dots │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── interval-1 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── interval-2 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── interval-3 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-carousel-last-child │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-carousel │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-carry-inter-state │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ │ ├── mode-carry │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-coverflow-last-child │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ │ ├── mode-coverflow │ │ │ │ │ │ └── index-chromium-linux.png │ │ │ │ │ ├── mode-flat-coverflow-last-child │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-flat-coverflow │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-normal-last-child │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-normal │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── page-margin-1 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ └── index-firefox-linux.png │ │ │ │ │ ├── page-margin │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ └── index-firefox-linux.png │ │ │ │ │ └── vertical │ │ │ │ │ │ ├── current-0 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ └── index-firefox-linux.png │ │ │ │ │ │ └── current-1 │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ └── index-firefox-linux.png │ │ │ │ ├── x-textarea │ │ │ │ │ ├── disabled │ │ │ │ │ │ ├── default │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ ├── false │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ └── true │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── maxlength │ │ │ │ │ │ ├── default │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ └── dynamic │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── maxlines │ │ │ │ │ │ ├── init-value │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ └── update-value │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── min-height-max-height │ │ │ │ │ │ ├── max-height │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ └── min-height │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── placeholder-style │ │ │ │ │ │ ├── init-value │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ └── update-value │ │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── placeholder │ │ │ │ │ │ ├── init-value │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ │ └── update-value │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ └── x-viewpager-ng │ │ │ │ │ ├── basic-element-x-viewpager-ng-allow-horizontal-gesture │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ └── swipe-not-change-chromium-linux.png │ │ │ │ │ ├── basic-element-x-viewpager-ng-exposure │ │ │ │ │ ├── exposure-1-chromium-linux.png │ │ │ │ │ └── exposure-2-chromium-linux.png │ │ │ │ │ ├── basic-element-x-viewpager-ng-item-position-absolute │ │ │ │ │ ├── select-index-chromium-linux.png │ │ │ │ │ ├── select-index-firefox-linux.png │ │ │ │ │ └── select-index-webkit-linux.png │ │ │ │ │ ├── basic-element-x-viewpager-ng-method-selecttab │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ ├── selecttab-1-green-chromium-linux.png │ │ │ │ │ ├── selecttab-1-green-firefox-linux.png │ │ │ │ │ └── selecttab-1-green-webkit-linux.png │ │ │ │ │ └── basic-element-x-viewpager-ng-select-index │ │ │ │ │ ├── select-index-change-chromium-linux.png │ │ │ │ │ ├── select-index-change-firefox-linux.png │ │ │ │ │ ├── select-index-change-webkit-linux.png │ │ │ │ │ ├── select-index-chromium-linux.png │ │ │ │ │ ├── select-index-firefox-linux.png │ │ │ │ │ └── select-index-webkit-linux.png │ │ │ ├── react │ │ │ │ ├── api-SelectorQuery │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── inner.jsx │ │ │ │ │ ├── mini-result-cell │ │ │ │ │ │ ├── index.css │ │ │ │ │ │ └── index.jsx │ │ │ │ │ └── outer.jsx │ │ │ │ ├── api-SystemInfo-height-width │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-SystemInfo │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-animate │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-animation-event │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-dispose │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-error │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-exposure-area │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-exposure-basic │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── placeholder.css │ │ │ │ ├── api-exposure-change-exposure-id │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── main.css │ │ │ │ ├── api-exposure-custom-event-handler │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-exposure-dynamic-screen-margin │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── placeholder.css │ │ │ │ ├── api-exposure-dynamic-ui-margin │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── placeholder.css │ │ │ │ ├── api-exposure-stop-events-has-complex-dataset │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-exposure-stop-events-has-dataset │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-exposure-stop-exposure │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-getJSModule │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-getSharedData │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-initdata │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-inject-style-rules │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-invoke-fail │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-invoke-success │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-lynx-performance │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-nativemodules-bridge-call │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-nativemodules-call │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-preheat-at-least-one │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-preheat │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-queueMicrotask │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-requestAnimationFrame │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-sendGlobalEvent │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-setSharedData │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-updateData-callback │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-updateData │ │ │ │ │ └── index.jsx │ │ │ │ ├── api-updateGlobalProps │ │ │ │ │ └── index.jsx │ │ │ │ ├── api.config.ts │ │ │ │ ├── basic-at-rule-animation-from-to │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-at-rule-animation │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-bindtap │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-class-selector │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-color-not-inherit │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-css-asset-in-css │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-css-var │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-dataprocessor │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-image-auto-size-with-padding │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-image-auto-size │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-image-border-radius │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-image-placeholder │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── lynx.png │ │ │ │ ├── basic-element-image-src │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-image-support-tap-event │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-list-basic │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-list-scroll-to-position │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-lynx-view-not-auto │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-scroll-view-event-scroll │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-scroll-view-event-scrollend │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-scroll-view-event-scrolltolower │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-scroll-view-event-scrolltoupper │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-scroll-view-fixed │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-scroll-view-scroll-to-index │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-scroll-view-scrollable │ │ │ │ │ ├── assets.ts │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-svg-bindload │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-svg-hex-color │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-svg-utf8 │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-svg-with-css │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-baseline │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-bindlayout │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-display-none │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-dynamic-text-style-update │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-linear-gradient-color │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-maxlength │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-maxline-with-setData │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-maxline │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-nest-image │ │ │ │ │ ├── images │ │ │ │ │ │ └── 5a076f79f05c644487d688bba0817195.png │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-nest-text │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-nest-view │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-set-native-props-text-do-not-change-inline-text │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-set-native-props-text │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-set-native-props-with-maxlength │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-set-native-props-with-setData │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── main.css │ │ │ │ ├── basic-element-text-tail-color-convert │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-text-selection │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-text-with-linear-gradient │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-with-new-line │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-text-word-break │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-view-border-style-default │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-audio-tt-play │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-blur-view-blur-radius │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-blur-view-default │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-foldview-ng-method-setFoldExpanded │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-bindblur │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-bindconfirm │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-bindfocus │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-bindinput │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-blur │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-focus │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-placeholder │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-setValue │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-type │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-input-value │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-overlay-ng-counter-test2 │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-overlay-ng-demo │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-overlay-ng-playground-test │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-refresh-view-demo │ │ │ │ │ ├── img.png │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-autoplay │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-bindchange │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-bindscrollend │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-bindscrollstart │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-circular-carousel │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-circular-carry │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-circular-coverflow │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-circular-flat-coverflow │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-circular-normal │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-current │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-duration │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-indicator-color │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-indicator-dots │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-interval │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-mode-carousel │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-mode-carry │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-mode-coverflow │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-mode-flat-coverflow │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-mode-normal │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-page-margin │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-swiper-dynamic │ │ │ │ │ ├── getColor.js │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-swiper-vertical │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-textarea-bindinput │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-textarea-disabled │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-textarea-focus │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-textarea-maxlength │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-textarea-maxlines │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-textarea-min-height-max-height │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-textarea-placeholder-style │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-textarea-placeholder │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-viewpager-ng-allow-horizontal-gesture │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-viewpager-ng-bindchange-select-tab │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-viewpager-ng-bindchange │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-viewpager-ng-bindoffsetchange │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-viewpager-ng-exposure │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-viewpager-ng-item-position-absolute │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-viewpager-ng-method-selecttab │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-element-x-viewpager-ng-select-index │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-event-bubble-dataset │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-event-dataset │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-1 │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-column-align-items │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-column-container-items-align-self │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-column-container-main-axis-justify-content-start-end-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-item-main-axis-content-based-min-size-not-from-content-size-suggestion │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-item-not-shrink-to-zero │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-item-shrink │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-nested-linear-setting │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-row-container-main-axis-justify-content-start-end-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-flex-with-overflow │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-globalProps │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-globalThis-property-bts │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-globalThis-property-mts │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-image │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-absolute-not-in-flow │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-child-container-wrap │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-align-items │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-container-items-align-self │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-container-items-layout-gravity │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-container-main-axis-graverty-center │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-container-main-axis-graverty-right-left-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-container-main-axis-graverty-start-end-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-container-main-axis-graverty-top-bottom-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-container-main-axis-justify-content-center │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-container-main-axis-justify-content-right-left-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-container-main-axis-justify-content-start-end-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-column-cross-gravity │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-default-orientation │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-grand-kid-weight │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-graverty-space-between │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-item-do-not-respond-to-flex-basis │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-item-do-not-respond-to-flex │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-item-do-not-shrink │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-item-use-order-affect-z-layout │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-item-use-order │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-margin-not-collapse │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-orientation-horizontal-with-direction │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-orientation-vertical-with-direction │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-row-container-items-layout-gravity │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-row-container-main-axis-graverty-center │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-row-container-main-axis-graverty-right-left-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-row-container-main-axis-graverty-start-end-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-row-container-main-axis-graverty-top-bottom-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-row-container-main-axis-justify-content-right-left-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-row-container-main-axis-justify-content-start-end-with-direction-rtl │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-row-cross-gravity │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-sum-of-item-weight-larger-than-container-weight-sum │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-weight-calced-large-than-size │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-weight-calced-less-than-size │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-weight-not-assign-full-free-space │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-weight-sum-equal-to-item-weigth │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-weight-sum-is-float │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-linear-weight-sum-is-zero │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-list-rendering │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-mts-bindtap-change-element-background │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-mts-bindtap │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-mts-bindtouchstart │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-mts-mainthread-ref │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-mts-run-on-background │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-mts-run-on-main-thread │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-performance-div-10 │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-performance-div-100 │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-performance-div-1000 │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-performance-div-10000 │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-performance-image-100 │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-performance-nest-level-100 │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-performance-scroll-view-100 │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-performance-text-200 │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-pink-rect │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-reload │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-replaceelement │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-scroll-view │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-setsate-with-cb │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-setstate-in-constructor │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-style-combinator │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-style-remove-one-property │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-style-remove │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-style-root-selector │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-useeffect-hydrate │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic-wrapper-element-do-not-impact-layout │ │ │ │ │ └── index.jsx │ │ │ │ ├── basic.config.ts │ │ │ │ ├── commonConfig.ts │ │ │ │ ├── config-css-default-display-linear-false │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── rspeedy.config.ts │ │ │ │ ├── config-css-default-overflow-visible-unset │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── rspeedy.config.ts │ │ │ │ ├── config-css-remove-scope-false-with-descendant-combinator │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspeedy.config.ts │ │ │ │ │ ├── sub.css │ │ │ │ │ └── sub.jsx │ │ │ │ ├── config-css-remove-scope-false │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspeedy.config.ts │ │ │ │ │ ├── sub.css │ │ │ │ │ └── sub.jsx │ │ │ │ ├── config-css-remove-scope-true │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspeedy.config.ts │ │ │ │ │ ├── sub.css │ │ │ │ │ └── sub.jsx │ │ │ │ ├── config-css-selector-false-exchange-class │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-css-selector-false-inline-css-change-same-time │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-css-selector-false-inline-remove-css-remove-inline │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-css-selector-false-multi-level-selector │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-css-selector-false-remove-all │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-css-selector-false-remove-css-and-reuse-css │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-css-selector-false-remove-css-and-style-collapsed │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-css-selector-false-remove-inline-style-and-reuse-css │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-css-selector-false-type-selector │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-css-selector-false.config.ts │ │ │ │ ├── config-mixed-01.config.ts │ │ │ │ ├── config-mixed-01 │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.jsx │ │ │ │ ├── config-mode-dev-with-all-in-one │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── rspeedy.config.ts │ │ │ │ ├── config-splitchunk-single-vendor │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── rspeedy.config.ts │ │ │ │ ├── config-splitchunk-split-by-experience │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── rspeedy.config.ts │ │ │ │ └── config-splitchunk-split-by-module │ │ │ │ │ ├── index.jsx │ │ │ │ │ └── rspeedy.config.ts │ │ │ ├── rpc.spec.ts │ │ │ ├── server.bench.vitest.spec.ts │ │ │ ├── server.vitest.spec.ts │ │ │ ├── utils.ts │ │ │ ├── web-core.test.ts │ │ │ ├── web-elements.spec.ts │ │ │ ├── web-elements.spec.ts-snapshots │ │ │ │ ├── filter-image │ │ │ │ │ ├── basic │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── blur-radius │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── drop-shadow │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-aspectfill │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-aspectfit │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── mode-center │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── layout │ │ │ │ │ ├── flex-lynx-computed-direction │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── flex-lynx-computed-grow │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── flex-lynx-computed-shrink │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── percentage-cyclic-sibiling │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── percentage-cyclic │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── scroll-view │ │ │ │ │ ├── basic │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── wheel-x-not-wheelable-chromium-linux.png │ │ │ │ │ │ ├── wheel-x-not-wheelable-firefox-linux.png │ │ │ │ │ │ ├── wheel-y-wheelable-chromium-linux.png │ │ │ │ │ │ └── wheel-y-wheelable-firefox-linux.png │ │ │ │ │ ├── bounces-false │ │ │ │ │ │ └── do-not-respond-tobounce-chromium-linux.png │ │ │ │ │ ├── event-scrolltolower │ │ │ │ │ │ ├── initial-yellow-chromium-linux.png │ │ │ │ │ │ ├── initial-yellow-firefox-linux.png │ │ │ │ │ │ ├── initial-yellow-webkit-linux.png │ │ │ │ │ │ ├── scroll-not-trigger-scrolltolower-yellow-chromium-linux.png │ │ │ │ │ │ ├── scroll-not-trigger-scrolltolower-yellow-firefox-linux.png │ │ │ │ │ │ ├── scroll-not-trigger-scrolltolower-yellow-webkit-linux.png │ │ │ │ │ │ ├── triggered-green-chromium-linux.png │ │ │ │ │ │ ├── triggered-green-firefox-linux.png │ │ │ │ │ │ └── triggered-green-webkit-linux.png │ │ │ │ │ ├── fading-edge-length │ │ │ │ │ │ ├── attribute-changed-more-fading-chromium-linux.png │ │ │ │ │ │ ├── initial-only-bot-fading-chromium-linux.png │ │ │ │ │ │ ├── scroll-to-bottom-top-fading-chromium-linux.png │ │ │ │ │ │ ├── scrolled-both-side-fading-bottom-chromium-linux.png │ │ │ │ │ │ └── scrolled-both-side-fading-top-chromium-linux.png │ │ │ │ │ ├── method-auto-scroll │ │ │ │ │ │ ├── auto-scroll-changed-high-rate-chromium-linux.png │ │ │ │ │ │ ├── auto-scroll-slow-rate-chromium-linux.png │ │ │ │ │ │ └── initial-chromium-linux.png │ │ │ │ │ ├── scroll-into-view-basic-x │ │ │ │ │ │ ├── scrolled-into-view-chromium-linux.png │ │ │ │ │ │ ├── scrolled-into-view-firefox-linux.png │ │ │ │ │ │ └── scrolled-into-view-webkit-linux.png │ │ │ │ │ ├── scroll-into-view-basic │ │ │ │ │ │ ├── scrolled-into-view-chromium-linux.png │ │ │ │ │ │ ├── scrolled-into-view-firefox-linux.png │ │ │ │ │ │ └── scrolled-into-view-webkit-linux.png │ │ │ │ │ ├── scroll-into-view-nested-scroll-view │ │ │ │ │ │ ├── scrollIntoView-do-not-scroll-outer-scroll-view-chromium-linux.png │ │ │ │ │ │ ├── scrollIntoView-do-not-scroll-outer-scroll-view-firefox-linux.png │ │ │ │ │ │ ├── scrollIntoView-do-not-scroll-outer-scroll-view-webkit-linux.png │ │ │ │ │ │ ├── scrollIntoView-do-scrolled-inner-chromium-linux.png │ │ │ │ │ │ ├── scrollIntoView-do-scrolled-inner-firefox-linux.png │ │ │ │ │ │ └── scrollIntoView-do-scrolled-inner-webkit-linux.png │ │ │ │ │ ├── scroll-into-view-text-x │ │ │ │ │ │ ├── scrolled-into-view-chromium-linux.png │ │ │ │ │ │ ├── scrolled-into-view-firefox-linux.png │ │ │ │ │ │ └── scrolled-into-view-webkit-linux.png │ │ │ │ │ ├── scroll-into-view-text │ │ │ │ │ │ ├── scrolled-into-view-chromium-linux.png │ │ │ │ │ │ ├── scrolled-into-view-firefox-linux.png │ │ │ │ │ │ └── scrolled-into-view-webkit-linux.png │ │ │ │ │ ├── scroll-left │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── scroll-to-index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── scroll-to │ │ │ │ │ │ ├── back-to-zero-chromium-linux.png │ │ │ │ │ │ ├── back-to-zero-firefox-linux.png │ │ │ │ │ │ ├── back-to-zero-webkit-linux.png │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── offset-50-and-index-2-chromium-linux.png │ │ │ │ │ │ ├── offset-50-and-index-2-firefox-linux.png │ │ │ │ │ │ ├── offset-50-and-index-2-webkit-linux.png │ │ │ │ │ │ ├── offset-50-chromium-linux.png │ │ │ │ │ │ ├── offset-50-firefox-linux.png │ │ │ │ │ │ ├── offset-50-webkit-linux.png │ │ │ │ │ │ ├── scroll-to-two-chromium-linux.png │ │ │ │ │ │ ├── scroll-to-two-firefox-linux.png │ │ │ │ │ │ └── scroll-to-two-webkit-linux.png │ │ │ │ │ ├── scroll-top │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── scroll-view-absolute-kid │ │ │ │ │ │ ├── should-show-pink-rect-chromium-linux.png │ │ │ │ │ │ ├── should-show-pink-rect-firefox-linux.png │ │ │ │ │ │ └── should-show-pink-rect-webkit-linux.png │ │ │ │ │ ├── scroll-view-item-percentage-size │ │ │ │ │ │ ├── scroll-view-item-use-percentage-50-should-half-green-chromium-linux.png │ │ │ │ │ │ ├── scroll-view-item-use-percentage-50-should-half-green-firefox-linux.png │ │ │ │ │ │ └── scroll-view-item-use-percentage-50-should-half-green-webkit-linux.png │ │ │ │ │ ├── scroll-view-linear-gravity-scroll │ │ │ │ │ │ └── scroll-view │ │ │ │ │ │ │ ├── scroll-view-linear-gravity-scroll-chromium-linux.png │ │ │ │ │ │ │ ├── scroll-view-linear-gravity-scroll-firefox-linux.png │ │ │ │ │ │ │ └── scroll-view-linear-gravity-scroll-webkit-linux.png │ │ │ │ │ ├── scroll-view-linear-gravity │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── scroll-view-overwrite-direction │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── scroll-view-padding │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ ├── index-webkit-linux.png │ │ │ │ │ │ ├── padding-should-be-scrolled-chromium-linux.png │ │ │ │ │ │ ├── padding-should-be-scrolled-firefox-linux.png │ │ │ │ │ │ └── padding-should-be-scrolled-webkit-linux.png │ │ │ │ │ ├── scroll-view-size-in-flex-column │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── scroll-view-size-in-flex-row │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── x-blur-view │ │ │ │ │ └── basic │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ └── index-firefox-linux.png │ │ │ │ ├── x-foldview-ng │ │ │ │ │ ├── basic-fling │ │ │ │ │ │ ├── fling-works-chromium-linux.png │ │ │ │ │ │ └── initial-chromium-linux.png │ │ │ │ │ ├── basic-with-lynx-wrapper │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── basic │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── item-fixed │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── scroll-chromium-linux.png │ │ │ │ │ │ ├── scroll-firefox-linux.png │ │ │ │ │ │ └── scroll-webkit-linux.png │ │ │ │ │ ├── size-controled-by-parent-flex-cross-axis │ │ │ │ │ │ ├── 300px-inf-chromium-linux.png │ │ │ │ │ │ └── 300px-inf-firefox-linux.png │ │ │ │ │ ├── size-header-could-from-children │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── size-header-height-enough │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── size-parent-grow-children-specific │ │ │ │ │ │ ├── 300px-inf-chromium-linux.png │ │ │ │ │ │ └── 300px-inf-firefox-linux.png │ │ │ │ │ ├── size-toolbar-and-slot-size-lager │ │ │ │ │ │ ├── fully-swiped-chromium-linux.png │ │ │ │ │ │ └── initial-chromium-linux.png │ │ │ │ │ ├── size-toolbar-could-from-children │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── size-toolbar-slot-defines-parent-size │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── size-toolbar-slot-share-flex-parent │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── swipe-basic │ │ │ │ │ │ └── initial-chromium-linux.png │ │ │ │ │ ├── with-x-refresh-view │ │ │ │ │ │ └── initial-chromium-linux.png │ │ │ │ │ ├── with-x-viewpager-ng-pan-both-x-and-y │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ └── x-viewpager-ng-could-be-swiped-chromium-linux.png │ │ │ │ │ └── with-x-viewpager-ng │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ └── x-viewpager-ng-could-be-swiped-chromium-linux.png │ │ │ │ ├── x-image │ │ │ │ │ ├── basic-inherit │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── basic │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── blur-radius │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── border-radius │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-aspectfill │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-aspectfit │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── mode-center │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── placeholder-src-change-with-placeholder-exist │ │ │ │ │ │ ├── should-show-new-src-chromium-chromium-linux.png │ │ │ │ │ │ ├── should-show-new-src-chromium-firefox-linux.png │ │ │ │ │ │ ├── should-show-new-src-chromium-webkit-linux.png │ │ │ │ │ │ ├── should-show-placeholder-firefox-chromium-linux.png │ │ │ │ │ │ ├── should-show-placeholder-firefox-firefox-linux.png │ │ │ │ │ │ └── should-show-placeholder-firefox-webkit-linux.png │ │ │ │ │ ├── placeholder-src-do-exist │ │ │ │ │ │ ├── chromium-chromium-linux.png │ │ │ │ │ │ ├── chromium-firefox-linux.png │ │ │ │ │ │ └── chromium-webkit-linux.png │ │ │ │ │ ├── placeholder-src-not-exist │ │ │ │ │ │ ├── firefox-chromium-linux.png │ │ │ │ │ │ ├── firefox-firefox-linux.png │ │ │ │ │ │ └── firefox-webkit-linux.png │ │ │ │ │ ├── position-basic │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── position │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── x-input │ │ │ │ │ ├── attribute-disabled │ │ │ │ │ │ ├── disabled-chromium-linux.png │ │ │ │ │ │ ├── disabled-firefox-linux.png │ │ │ │ │ │ └── disabled-webkit-linux.png │ │ │ │ │ ├── attribute-maxlength-change-do-not-change-value │ │ │ │ │ │ ├── initial-10-chromium-linux.png │ │ │ │ │ │ ├── initial-10-firefox-linux.png │ │ │ │ │ │ ├── initial-10-webkit-linux.png │ │ │ │ │ │ ├── maxlength-changed-still-10-chromium-linux.png │ │ │ │ │ │ ├── maxlength-changed-still-10-firefox-linux.png │ │ │ │ │ │ ├── maxlength-changed-still-10-webkit-linux.png │ │ │ │ │ │ ├── show-5-chromium-linux.png │ │ │ │ │ │ ├── show-5-firefox-linux.png │ │ │ │ │ │ └── show-5-webkit-linux.png │ │ │ │ │ ├── attribute-maxlength-first-screen-cut-value │ │ │ │ │ │ ├── text-hello-chromium-linux.png │ │ │ │ │ │ ├── text-hello-firefox-linux.png │ │ │ │ │ │ └── text-hello-webkit-linux.png │ │ │ │ │ ├── attribute-readonly │ │ │ │ │ │ ├── readonly-chromium-linux.png │ │ │ │ │ │ ├── readonly-firefox-linux.png │ │ │ │ │ │ └── readonly-webkit-linux.png │ │ │ │ │ ├── attribute-value │ │ │ │ │ │ ├── attribute-value-chromium-linux.png │ │ │ │ │ │ ├── attribute-value-firefox-linux.png │ │ │ │ │ │ └── attribute-value-webkit-linux.png │ │ │ │ │ ├── method-addText │ │ │ │ │ │ ├── show-helloadd-text-chromium-linux.png │ │ │ │ │ │ ├── show-helloadd-text-firefox-linux.png │ │ │ │ │ │ └── show-helloadd-text-webkit-linux.png │ │ │ │ │ ├── method-select │ │ │ │ │ │ └── method-select-chromium-linux.png │ │ │ │ │ ├── method-sendDelEvent │ │ │ │ │ │ ├── he-chromium-linux.png │ │ │ │ │ │ ├── he-firefox-linux.png │ │ │ │ │ │ ├── he-webkit-linux.png │ │ │ │ │ │ ├── hell-chromium-linux.png │ │ │ │ │ │ ├── hell-firefox-linux.png │ │ │ │ │ │ └── hell-webkit-linux.png │ │ │ │ │ ├── method-setSelectionRange │ │ │ │ │ │ ├── select-ll-chromium-linux.png │ │ │ │ │ │ └── select-ll-webkit-linux.png │ │ │ │ │ ├── method-setValue │ │ │ │ │ │ ├── add3-text-chromium-linux.png │ │ │ │ │ │ ├── add3-text-firefox-linux.png │ │ │ │ │ │ └── add3-text-webkit-linux.png │ │ │ │ │ ├── placeholder-color │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── placeholder-weight │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── placeholder │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── press-enter-do-not-submit-value │ │ │ │ │ │ ├── show-hello-chromium-linux.png │ │ │ │ │ │ ├── show-hello-firefox-linux.png │ │ │ │ │ │ └── show-hello-webkit-linux.png │ │ │ │ │ ├── style-background-color │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ └── initial-webkit-linux.png │ │ │ │ │ ├── style-inherit-color │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ └── initial-webkit-linux.png │ │ │ │ │ ├── style-inherit-margin │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ └── initial-webkit-linux.png │ │ │ │ │ ├── type-password │ │ │ │ │ │ ├── show-password-chromium-linux.png │ │ │ │ │ │ ├── show-password-firefox-linux.png │ │ │ │ │ │ └── show-password-webkit-linux.png │ │ │ │ │ └── type-value-do-not-show-input │ │ │ │ │ │ ├── text-h-chromium-linux.png │ │ │ │ │ │ ├── text-h-firefox-linux.png │ │ │ │ │ │ └── text-h-webkit-linux.png │ │ │ │ ├── x-list │ │ │ │ │ ├── auto-scroll │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ └── initial-webkit-linux.png │ │ │ │ │ ├── axios-gap-waterfall │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── axis-gap-flow │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── axis-gap │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── basic-flow │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── wheel-x-not-wheelable-chromium-linux.png │ │ │ │ │ │ ├── wheel-x-not-wheelable-firefox-linux.png │ │ │ │ │ │ ├── wheel-y-wheelable-chromium-linux.png │ │ │ │ │ │ └── wheel-y-wheelable-firefox-linux.png │ │ │ │ │ ├── basic-waterfall │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ ├── index-webkit-linux.png │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── insert-chromium-linux.png │ │ │ │ │ │ ├── insert-firefox-linux.png │ │ │ │ │ │ ├── insert-webkit-linux.png │ │ │ │ │ │ ├── resize-chromium-linux.png │ │ │ │ │ │ ├── resize-firefox-linux.png │ │ │ │ │ │ ├── resize-webkit-linux.png │ │ │ │ │ │ ├── wheel-x-not-wheelable-chromium-linux.png │ │ │ │ │ │ ├── wheel-x-not-wheelable-firefox-linux.png │ │ │ │ │ │ ├── wheel-y-wheelable-chromium-linux.png │ │ │ │ │ │ └── wheel-y-wheelable-firefox-linux.png │ │ │ │ │ ├── basic │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── wheel-x-not-wheelable-chromium-linux.png │ │ │ │ │ │ ├── wheel-x-not-wheelable-firefox-linux.png │ │ │ │ │ │ ├── wheel-y-wheelable-chromium-linux.png │ │ │ │ │ │ └── wheel-y-wheelable-firefox-linux.png │ │ │ │ │ ├── enable-scroll │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── scroll-by-js-chromium-linux.png │ │ │ │ │ │ ├── scroll-by-js-firefox-linux.png │ │ │ │ │ │ ├── wheel-y-not-wheelable-chromium-linux.png │ │ │ │ │ │ └── wheel-y-not-wheelable-firefox-linux.png │ │ │ │ │ ├── event-scrolltoupper-tolower-flow │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── event-scrolltoupper-tolower-waterfall │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── full-span-waterfall │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ ├── index-webkit-linux.png │ │ │ │ │ │ ├── x-scroll-chromium-linux.png │ │ │ │ │ │ ├── x-scroll-firefox-linux.png │ │ │ │ │ │ ├── y-scroll-chromium-linux.png │ │ │ │ │ │ └── y-scroll-firefox-linux.png │ │ │ │ │ ├── full-span │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── initial-scroll-index │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── item-snap │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ ├── scroll-1-chromium-linux.png │ │ │ │ │ │ ├── scroll-1-firefox-linux.png │ │ │ │ │ │ ├── scroll-2-chromium-linux.png │ │ │ │ │ │ └── scroll-2-firefox-linux.png │ │ │ │ │ ├── list-item-linear │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── list-type-change │ │ │ │ │ │ ├── flow-chromium-linux.png │ │ │ │ │ │ ├── flow-firefox-linux.png │ │ │ │ │ │ ├── flow-webkit-linux.png │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ ├── index-webkit-linux.png │ │ │ │ │ │ ├── single-chromium-linux.png │ │ │ │ │ │ ├── single-firefox-linux.png │ │ │ │ │ │ ├── single-webkit-linux.png │ │ │ │ │ │ ├── waterfall-chromium-linux.png │ │ │ │ │ │ ├── waterfall-firefox-linux.png │ │ │ │ │ │ └── waterfall-webkit-linux.png │ │ │ │ │ ├── scroll-orientation-flow │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── scroll-orientation-waterfall │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── wheel-x-wheelable-chromium-linux.png │ │ │ │ │ │ ├── wheel-x-wheelable-firefox-linux.png │ │ │ │ │ │ ├── wheel-y-not-wheelable-chromium-linux.png │ │ │ │ │ │ └── wheel-y-not-wheelable-firefox-linux.png │ │ │ │ │ ├── scroll-orientation │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ └── initial-webkit-linux.png │ │ │ │ │ ├── scroll-to-position │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── scroll-to-position-chromium-linux.png │ │ │ │ │ │ ├── scroll-to-position-firefox-linux.png │ │ │ │ │ │ └── scroll-to-position-webkit-linux.png │ │ │ │ │ ├── sticky-flow │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ ├── index-webkit-linux.png │ │ │ │ │ │ ├── sticky-y-scroll-chromium-linux.png │ │ │ │ │ │ └── sticky-y-scroll-firefox-linux.png │ │ │ │ │ ├── sticky-offset │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ ├── index-webkit-linux.png │ │ │ │ │ │ ├── sticky-offset-y-scroll-chromium-linux.png │ │ │ │ │ │ └── sticky-offset-y-scroll-firefox-linux.png │ │ │ │ │ ├── sticky-waterfall │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ ├── index-webkit-linux.png │ │ │ │ │ │ ├── y-scroll-chromium-linux.png │ │ │ │ │ │ └── y-scroll-firefox-linux.png │ │ │ │ │ └── sticky │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ ├── index-webkit-linux.png │ │ │ │ │ │ ├── sticky-y-scroll-chromium-linux.png │ │ │ │ │ │ └── sticky-y-scroll-firefox-linux.png │ │ │ │ ├── x-overlay-ng │ │ │ │ │ └── basic-z-index │ │ │ │ │ │ ├── red-cover-next-z-staking-rect-chromium-linux.png │ │ │ │ │ │ ├── red-cover-next-z-staking-rect-firefox-linux.png │ │ │ │ │ │ └── red-cover-next-z-staking-rect-webkit-linux.png │ │ │ │ ├── x-refresh-view │ │ │ │ │ ├── basic │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ └── initial-webkit-linux.png │ │ │ │ │ ├── enable-refresh-false │ │ │ │ │ │ ├── cannot-pull-down-chromium-linux.png │ │ │ │ │ │ └── pull-up-footer-can-show-chromium-linux.png │ │ │ │ │ └── pull │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── pull-down-to-refresh-keep-pull-down-status-chromium-linux.png │ │ │ │ │ │ └── pull-up-footer-keep-pull-up-status-chromium-linux.png │ │ │ │ ├── x-swiper │ │ │ │ │ ├── x-swiper-basic-autoplay-interval │ │ │ │ │ │ ├── autoplay-green-chromium-linux.png │ │ │ │ │ │ ├── initial-red-chromium-linux.png │ │ │ │ │ │ └── red-not-changed-chromium-linux.png │ │ │ │ │ ├── x-swiper-basic-autoplay │ │ │ │ │ │ ├── autoplay-blue-chromium-linux.png │ │ │ │ │ │ ├── autoplay-green-chromium-linux.png │ │ │ │ │ │ ├── initial-red-chromium-linux.png │ │ │ │ │ │ └── red-not-changed-chromium-linux.png │ │ │ │ │ ├── x-swiper-basic-circular-autoplay │ │ │ │ │ │ ├── autoplay-blue-chromium-linux.png │ │ │ │ │ │ ├── autoplay-circular-red-chromium-linux.png │ │ │ │ │ │ └── initial-red-chromium-linux.png │ │ │ │ │ ├── x-swiper-basic-circular │ │ │ │ │ │ ├── circular-again-to-last-blue-chromium-linux.png │ │ │ │ │ │ ├── circular-from-last-to-first-red-chromium-linux.png │ │ │ │ │ │ ├── invert-swipe-to-first-red-chromium-linux.png │ │ │ │ │ │ ├── swipe-back-to-first-red-chromium-linux.png │ │ │ │ │ │ ├── swipe-back-to-last-blue-chromium-linux.png │ │ │ │ │ │ ├── swipe-to-last-blue-chromium-linux.png │ │ │ │ │ │ └── swipe-to-show-mid-green-chromium-linux.png │ │ │ │ │ ├── x-swiper-circular-coverflow │ │ │ │ │ │ ├── circular-again-to-last-blue-chromium-linux.png │ │ │ │ │ │ ├── circular-from-last-to-first-red-chromium-linux.png │ │ │ │ │ │ ├── initial-mid-red-right-blue-chromium-linux.png │ │ │ │ │ │ ├── invert-swipe-to-first-red-chromium-linux.png │ │ │ │ │ │ ├── swipe-back-to-first-red-chromium-linux.png │ │ │ │ │ │ ├── swipe-back-to-last-blue-chromium-linux.png │ │ │ │ │ │ ├── swipe-to-last-blue-chromium-linux.png │ │ │ │ │ │ └── swipe-to-show-mid-green-chromium-linux.png │ │ │ │ │ ├── x-swiper-current-change │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── scroll-chromium-linux.png │ │ │ │ │ │ └── scroll-end-chromium-linux.png │ │ │ │ │ ├── x-swiper-indicator-active-color │ │ │ │ │ │ ├── activate-blue-chromium-linux.png │ │ │ │ │ │ ├── activate-blue-firefox-linux.png │ │ │ │ │ │ ├── activate-blue-webkit-linux.png │ │ │ │ │ │ ├── activate-green-chromium-linux.png │ │ │ │ │ │ ├── activate-green-firefox-linux.png │ │ │ │ │ │ └── activate-green-webkit-linux.png │ │ │ │ │ ├── x-swiper-indicator-basic │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── num-0-in-view-chromium-linux.png │ │ │ │ │ │ ├── num-0-in-view-firefox-linux.png │ │ │ │ │ │ ├── num-0-in-view-webkit-linux.png │ │ │ │ │ │ ├── num-1-in-view-chromium-linux.png │ │ │ │ │ │ ├── num-1-in-view-firefox-linux.png │ │ │ │ │ │ ├── num-1-in-view-webkit-linux.png │ │ │ │ │ │ ├── num-2-in-view-chromium-linux.png │ │ │ │ │ │ ├── num-2-in-view-firefox-linux.png │ │ │ │ │ │ └── num-2-in-view-webkit-linux.png │ │ │ │ │ ├── x-swiper-indicator-color │ │ │ │ │ │ ├── inactivate-blue-chromium-linux.png │ │ │ │ │ │ ├── inactivate-blue-firefox-linux.png │ │ │ │ │ │ ├── inactivate-blue-webkit-linux.png │ │ │ │ │ │ ├── inactivate-green-chromium-linux.png │ │ │ │ │ │ ├── inactivate-green-firefox-linux.png │ │ │ │ │ │ └── inactivate-green-webkit-linux.png │ │ │ │ │ ├── x-swiper-initial-current │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ └── initial-webkit-linux.png │ │ │ │ │ └── x-swiper-set-current │ │ │ │ │ │ ├── green-chromium-linux.png │ │ │ │ │ │ ├── green-firefox-linux.png │ │ │ │ │ │ └── green-webkit-linux.png │ │ │ │ ├── x-text │ │ │ │ │ ├── inline-image-padding-and-margin │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── inline-image-with-lynx-wrapper │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── inline-image │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── inline-text-with-lynx-wrapper │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── inline-text │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── inline-truncation-with-inline-image │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── nested-view-in-text │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── raw-text-with-lynx-wrapper │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── raw-text-with-lynx-wrapper-chromium-linux.png │ │ │ │ │ │ │ ├── raw-text-with-lynx-wrapper-firefox-linux.png │ │ │ │ │ │ │ └── raw-text-with-lynx-wrapper-webkit-linux.png │ │ │ │ │ ├── raw-text │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── raw-text-chromium-linux.png │ │ │ │ │ │ │ ├── raw-text-firefox-linux.png │ │ │ │ │ │ │ └── raw-text-webkit-linux.png │ │ │ │ │ ├── text-baseline-alignment │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── text-clipped-display-important │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-clipped-display-important-chromium-linux.png │ │ │ │ │ │ │ ├── text-clipped-display-important-firefox-linux.png │ │ │ │ │ │ │ └── text-clipped-display-important-webkit-linux.png │ │ │ │ │ ├── text-in-text-fault-torrent │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── text-in-text │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── text-inline-no-whitespace │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-inline-no-whitespace-chromium-linux.png │ │ │ │ │ │ │ ├── text-inline-no-whitespace-firefox-linux.png │ │ │ │ │ │ │ └── text-inline-no-whitespace-webkit-linux.png │ │ │ │ │ ├── text-is-block-element │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-is-block-element-chromium-linux.png │ │ │ │ │ │ │ ├── text-is-block-element-firefox-linux.png │ │ │ │ │ │ │ └── text-is-block-element-webkit-linux.png │ │ │ │ │ ├── text-maxlength-with-raw-text │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-maxlength-with-raw-text-chromium-linux.png │ │ │ │ │ │ │ ├── text-maxlength-with-raw-text-firefox-linux.png │ │ │ │ │ │ │ └── text-maxlength-with-raw-text-webkit-linux.png │ │ │ │ │ ├── text-maxlength-with-tail-color-convert-false │ │ │ │ │ │ ├── first-red-second-green-chromium-linux.png │ │ │ │ │ │ ├── first-red-second-green-firefox-linux.png │ │ │ │ │ │ └── first-red-second-green-webkit-linux.png │ │ │ │ │ ├── text-maxlength │ │ │ │ │ │ ├── maxlength-chromium-linux.png │ │ │ │ │ │ ├── maxlength-firefox-linux.png │ │ │ │ │ │ └── maxlength-webkit-linux.png │ │ │ │ │ ├── text-maxline-1-instrict-size │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-maxline-1-instrict-size-chromium-linux.png │ │ │ │ │ │ │ ├── text-maxline-1-instrict-size-firefox-linux.png │ │ │ │ │ │ │ └── text-maxline-1-instrict-size-webkit-linux.png │ │ │ │ │ ├── text-maxline-basic-with-lynx-wrapper │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-maxline-basic-with-lynx-wrapper-chromium-linux.png │ │ │ │ │ │ │ ├── text-maxline-basic-with-lynx-wrapper-firefox-linux.png │ │ │ │ │ │ │ └── text-maxline-basic-with-lynx-wrapper-webkit-linux.png │ │ │ │ │ ├── text-maxline-basic │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-maxline-basic-chromium-linux.png │ │ │ │ │ │ │ ├── text-maxline-basic-firefox-linux.png │ │ │ │ │ │ │ └── text-maxline-basic-webkit-linux.png │ │ │ │ │ ├── text-maxline-just-fit-do-not-show-custom-truncation │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── text-maxline-with-custom-truncation-innertext-change │ │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ │ ├── initial-firefox-linux.png │ │ │ │ │ │ ├── initial-webkit-linux.png │ │ │ │ │ │ ├── inner-changed-chromium-linux.png │ │ │ │ │ │ ├── inner-changed-firefox-linux.png │ │ │ │ │ │ └── inner-changed-webkit-linux.png │ │ │ │ │ ├── text-maxline-with-custom-truncation │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-maxline-with-custom-truncation-chromium-linux.png │ │ │ │ │ │ │ ├── text-maxline-with-custom-truncation-firefox-linux.png │ │ │ │ │ │ │ └── text-maxline-with-custom-truncation-webkit-linux.png │ │ │ │ │ ├── text-maxline-with-padding │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-maxline-with-padding-chromium-linux.png │ │ │ │ │ │ │ ├── text-maxline-with-padding-firefox-linux.png │ │ │ │ │ │ │ └── text-maxline-with-padding-webkit-linux.png │ │ │ │ │ ├── text-maxline-with-raw-text │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-maxline-with-raw-text-chromium-linux.png │ │ │ │ │ │ │ ├── text-maxline-with-raw-text-firefox-linux.png │ │ │ │ │ │ │ └── text-maxline-with-raw-text-webkit-linux.png │ │ │ │ │ ├── text-maxline-with-tail-color-convert-false │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-maxline-with-tail-color-convert-false-chromium-linux.png │ │ │ │ │ │ │ ├── text-maxline-with-tail-color-convert-false-firefox-linux.png │ │ │ │ │ │ │ └── text-maxline-with-tail-color-convert-false-webkit-linux.png │ │ │ │ │ ├── text-no-maxline-do-not-show-inline-truncation │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-no-maxline-do-not-show-inline-truncation-chromium-linux.png │ │ │ │ │ │ │ ├── text-no-maxline-do-not-show-inline-truncation-firefox-linux.png │ │ │ │ │ │ │ └── text-no-maxline-do-not-show-inline-truncation-webkit-linux.png │ │ │ │ │ ├── text-not-resize-detect-new-line │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-not-resize-detect-new-line-chromium-linux.png │ │ │ │ │ │ │ ├── text-not-resize-detect-new-line-firefox-linux.png │ │ │ │ │ │ │ └── text-not-resize-detect-new-line-webkit-linux.png │ │ │ │ │ ├── text-overflow-inherit │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-overflow-inherit-chromium-linux.png │ │ │ │ │ │ │ ├── text-overflow-inherit-firefox-linux.png │ │ │ │ │ │ │ └── text-overflow-inherit-webkit-linux.png │ │ │ │ │ ├── text-sizing-in-flex-container │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── text-sizing-in-flex-container-chromium-linux.png │ │ │ │ │ │ │ ├── text-sizing-in-flex-container-firefox-linux.png │ │ │ │ │ │ │ └── text-sizing-in-flex-container-webkit-linux.png │ │ │ │ │ ├── truncation-first-element-is-image │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── truncation-first-element-is-image-chromium-linux.png │ │ │ │ │ │ │ ├── truncation-first-element-is-image-firefox-linux.png │ │ │ │ │ │ │ └── truncation-first-element-is-image-webkit-linux.png │ │ │ │ │ ├── view-flex-in-text │ │ │ │ │ │ └── x-text │ │ │ │ │ │ │ ├── view-flex-in-text-chromium-linux.png │ │ │ │ │ │ │ ├── view-flex-in-text-firefox-linux.png │ │ │ │ │ │ │ └── view-flex-in-text-webkit-linux.png │ │ │ │ │ └── view-in-text │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ ├── x-textarea │ │ │ │ │ ├── attribute-disabled │ │ │ │ │ │ ├── disabled-chromium-linux.png │ │ │ │ │ │ ├── disabled-firefox-linux.png │ │ │ │ │ │ └── disabled-webkit-linux.png │ │ │ │ │ ├── attribute-maxlength-change-do-not-change-value │ │ │ │ │ │ ├── initial-10-chromium-linux.png │ │ │ │ │ │ ├── initial-10-firefox-linux.png │ │ │ │ │ │ ├── initial-10-webkit-linux.png │ │ │ │ │ │ ├── maxlength-changed-still-10-chromium-linux.png │ │ │ │ │ │ ├── maxlength-changed-still-10-firefox-linux.png │ │ │ │ │ │ ├── maxlength-changed-still-10-webkit-linux.png │ │ │ │ │ │ ├── show-5-chromium-linux.png │ │ │ │ │ │ ├── show-5-firefox-linux.png │ │ │ │ │ │ └── show-5-webkit-linux.png │ │ │ │ │ ├── attribute-maxlength-first-screen-cut-value │ │ │ │ │ │ ├── text-hello-chromium-linux.png │ │ │ │ │ │ ├── text-hello-firefox-linux.png │ │ │ │ │ │ └── text-hello-webkit-linux.png │ │ │ │ │ ├── attribute-readonly │ │ │ │ │ │ ├── readonly-chromium-linux.png │ │ │ │ │ │ ├── readonly-firefox-linux.png │ │ │ │ │ │ └── readonly-webkit-linux.png │ │ │ │ │ ├── attribute-value │ │ │ │ │ │ ├── attribute-value-chromium-linux.png │ │ │ │ │ │ ├── attribute-value-firefox-linux.png │ │ │ │ │ │ └── attribute-value-webkit-linux.png │ │ │ │ │ ├── background-color-inherit │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── method-addText │ │ │ │ │ │ ├── show-helloadd-text-chromium-linux.png │ │ │ │ │ │ ├── show-helloadd-text-firefox-linux.png │ │ │ │ │ │ └── show-helloadd-text-webkit-linux.png │ │ │ │ │ ├── method-select │ │ │ │ │ │ ├── method-select-firefox-linux.png │ │ │ │ │ │ └── method-select-webkit-linux.png │ │ │ │ │ ├── method-sendDelEvent │ │ │ │ │ │ ├── he-chromium-linux.png │ │ │ │ │ │ ├── he-firefox-linux.png │ │ │ │ │ │ ├── he-webkit-linux.png │ │ │ │ │ │ ├── hell-chromium-linux.png │ │ │ │ │ │ ├── hell-firefox-linux.png │ │ │ │ │ │ └── hell-webkit-linux.png │ │ │ │ │ ├── method-setSelectionRange │ │ │ │ │ │ ├── select-ll-chromium-linux.png │ │ │ │ │ │ └── select-ll-webkit-linux.png │ │ │ │ │ ├── method-setValue │ │ │ │ │ │ ├── add3-text-chromium-linux.png │ │ │ │ │ │ ├── add3-text-firefox-linux.png │ │ │ │ │ │ └── add3-text-webkit-linux.png │ │ │ │ │ ├── outline-color-inherit │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── placeholder-color │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── placeholder-weight │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ ├── placeholder │ │ │ │ │ │ ├── index-chromium-linux.png │ │ │ │ │ │ ├── index-firefox-linux.png │ │ │ │ │ │ └── index-webkit-linux.png │ │ │ │ │ └── press-enter-do-not-submit-value │ │ │ │ │ │ ├── show-hello-chromium-linux.png │ │ │ │ │ │ ├── show-hello-firefox-linux.png │ │ │ │ │ │ └── show-hello-webkit-linux.png │ │ │ │ └── x-viewpager-ng │ │ │ │ │ ├── basic-with-lynx-wrapper │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ ├── swipe-1-chromium-linux.png │ │ │ │ │ └── swipe-2-chromium-linux.png │ │ │ │ │ ├── basic │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ ├── swipe-1-chromium-linux.png │ │ │ │ │ └── swipe-2-chromium-linux.png │ │ │ │ │ ├── bounces │ │ │ │ │ ├── bounce-back-chromium-linux.png │ │ │ │ │ └── drag-show-bounce-area-chromium-linux.png │ │ │ │ │ ├── do-not-response-to-select-index-on-dragging │ │ │ │ │ ├── finish-chromium-linux.png │ │ │ │ │ ├── initial-chromium-linux.png │ │ │ │ │ └── same-to-initial-chromium-linux.png │ │ │ │ │ ├── select-index-0 │ │ │ │ │ ├── initial-color-fuchsia-chromium-linux.png │ │ │ │ │ ├── initial-color-fuchsia-firefox-linux.png │ │ │ │ │ ├── initial-color-fuchsia-webkit-linux.png │ │ │ │ │ ├── show-wheat-chromium-linux.png │ │ │ │ │ ├── show-wheat-firefox-linux.png │ │ │ │ │ └── show-wheat-webkit-linux.png │ │ │ │ │ ├── select-index │ │ │ │ │ ├── initial-sandybrown-chromium-linux.png │ │ │ │ │ ├── initial-sandybrown-firefox-linux.png │ │ │ │ │ └── initial-sandybrown-webkit-linux.png │ │ │ │ │ └── viewpager-size-cyclic-percentage-size │ │ │ │ │ ├── basic-chromium-linux.png │ │ │ │ │ ├── basic-firefox-linux.png │ │ │ │ │ └── basic-webkit-linux.png │ │ │ └── web-elements │ │ │ │ ├── filter-image │ │ │ │ ├── basic-placeholder.html │ │ │ │ ├── basic.html │ │ │ │ ├── blur-radius.html │ │ │ │ ├── drop-shadow.html │ │ │ │ ├── event-error.html │ │ │ │ ├── event-load.html │ │ │ │ ├── mode-aspectfill-placeholder.html │ │ │ │ ├── mode-aspectfill.html │ │ │ │ ├── mode-aspectfit-placeholder.html │ │ │ │ ├── mode-aspectfit.html │ │ │ │ ├── mode-center-placeholder.html │ │ │ │ └── mode-center.html │ │ │ │ ├── layout │ │ │ │ ├── flex-lynx-computed-direction.html │ │ │ │ ├── flex-lynx-computed-grow.html │ │ │ │ ├── flex-lynx-computed-shrink.html │ │ │ │ ├── lynx-display-do-not-use-flatten-tree.html │ │ │ │ ├── percentage-cyclic-sibiling-linear.html │ │ │ │ ├── percentage-cyclic-sibiling.html │ │ │ │ ├── percentage-cyclic-text.html │ │ │ │ └── percentage-cyclic.html │ │ │ │ ├── performance │ │ │ │ ├── connected-x-text.html │ │ │ │ ├── div-10000-fp.html │ │ │ │ ├── div-10000.html │ │ │ │ ├── p-10000.html │ │ │ │ ├── performanceObserver.js │ │ │ │ ├── raw-text-large.html │ │ │ │ ├── react-10000-div-with-layouteffect.html │ │ │ │ ├── react-10000-div.html │ │ │ │ ├── react-dom.production.min.js │ │ │ │ ├── react.production.min.js │ │ │ │ ├── set-lycss.html │ │ │ │ ├── simple-append-two-dom.html │ │ │ │ ├── simple-one-div.html │ │ │ │ ├── simple-one-dom.html │ │ │ │ ├── simple-two-dom.html │ │ │ │ ├── x-list-waterfall-1000.html │ │ │ │ ├── x-text-large.html │ │ │ │ ├── x-text-with-font.html │ │ │ │ ├── x-view-10000-fp.html │ │ │ │ └── x-view-10000.html │ │ │ │ ├── scroll-view │ │ │ │ ├── basic.html │ │ │ │ ├── bounces-false.html │ │ │ │ ├── event-scroll.html │ │ │ │ ├── event-scrollend.html │ │ │ │ ├── event-scrolltolower.html │ │ │ │ ├── fading-edge-length.html │ │ │ │ ├── method-auto-scroll.html │ │ │ │ ├── scroll-into-view-basic-x.html │ │ │ │ ├── scroll-into-view-basic.html │ │ │ │ ├── scroll-into-view-nested-scroll-view.html │ │ │ │ ├── scroll-into-view-text-x.html │ │ │ │ ├── scroll-into-view-text.html │ │ │ │ ├── scroll-left.html │ │ │ │ ├── scroll-to-index.html │ │ │ │ ├── scroll-to.html │ │ │ │ ├── scroll-top.html │ │ │ │ ├── scroll-view-absolute-kid.html │ │ │ │ ├── scroll-view-item-percentage-size.html │ │ │ │ ├── scroll-view-linear-gravity-scroll.html │ │ │ │ ├── scroll-view-linear-gravity.html │ │ │ │ ├── scroll-view-must-linear.html │ │ │ │ ├── scroll-view-overwrite-direction.html │ │ │ │ ├── scroll-view-padding.html │ │ │ │ ├── scroll-view-size-in-flex-column.html │ │ │ │ ├── scroll-view-size-in-flex-row.html │ │ │ │ └── scrollable-even-inline-overflow-visible.html │ │ │ │ ├── x-audio-tt │ │ │ │ ├── attribute-headers.html │ │ │ │ ├── attribute-interval.html │ │ │ │ ├── attribute-loop-close.html │ │ │ │ ├── attribute-loop.html │ │ │ │ ├── attribute-pause-on-hide.html │ │ │ │ ├── attribute-src-change.html │ │ │ │ ├── attribute-src.html │ │ │ │ ├── event-error-playback.html │ │ │ │ ├── event-error-src-json.html │ │ │ │ ├── event-error-src.html │ │ │ │ ├── event-finished.html │ │ │ │ ├── event-playbackstatechanged.html │ │ │ │ ├── event-seek.html │ │ │ │ ├── event-srcloadingstatechanged.html │ │ │ │ ├── method-mute.html │ │ │ │ ├── method-pause.html │ │ │ │ ├── method-play.html │ │ │ │ ├── method-player-info.html │ │ │ │ ├── method-prepare.html │ │ │ │ ├── method-resume.html │ │ │ │ ├── method-seek.html │ │ │ │ ├── method-set-volume.html │ │ │ │ ├── method-stop.html │ │ │ │ ├── source-detail.mp3 │ │ │ │ └── source-horse.mp3 │ │ │ │ ├── x-blur-view │ │ │ │ └── basic.html │ │ │ │ ├── x-foldview-ng │ │ │ │ ├── basic-fling.html │ │ │ │ ├── basic-with-lynx-wrapper.html │ │ │ │ ├── basic.html │ │ │ │ ├── event-offset-granularity.html │ │ │ │ ├── item-fixed.html │ │ │ │ ├── size-controled-by-parent-flex-cross-axis.html │ │ │ │ ├── size-header-could-from-children.html │ │ │ │ ├── size-header-height-enough.html │ │ │ │ ├── size-parent-grow-children-specific.html │ │ │ │ ├── size-toolbar-and-slot-size-lager.html │ │ │ │ ├── size-toolbar-could-from-children.html │ │ │ │ ├── size-toolbar-slot-defines-parent-size.html │ │ │ │ ├── size-toolbar-slot-share-flex-parent.html │ │ │ │ ├── swipe-basic.html │ │ │ │ ├── swipe-with-x-scroll-view.html │ │ │ │ ├── with-x-refresh-view.html │ │ │ │ ├── with-x-viewpager-ng-pan-both-x-and-y.html │ │ │ │ └── with-x-viewpager-ng.html │ │ │ │ ├── x-image │ │ │ │ ├── basic-inherit.html │ │ │ │ ├── basic-placeholder.html │ │ │ │ ├── basic.html │ │ │ │ ├── blur-radius.html │ │ │ │ ├── border-radius.html │ │ │ │ ├── event-error.html │ │ │ │ ├── event-load.html │ │ │ │ ├── mode-aspectfill-placeholder.html │ │ │ │ ├── mode-aspectfill.html │ │ │ │ ├── mode-aspectfit-placeholder.html │ │ │ │ ├── mode-aspectfit.html │ │ │ │ ├── mode-center-placeholder.html │ │ │ │ ├── mode-center.html │ │ │ │ ├── placeholder-src-change-with-placeholder-exist.html │ │ │ │ ├── placeholder-src-do-exist.html │ │ │ │ ├── placeholder-src-not-exist.html │ │ │ │ ├── position-basic.html │ │ │ │ └── position.html │ │ │ │ ├── x-input │ │ │ │ ├── attribute-confirm-type-done.html │ │ │ │ ├── attribute-confirm-type-go.html │ │ │ │ ├── attribute-confirm-type-next.html │ │ │ │ ├── attribute-confirm-type-search.html │ │ │ │ ├── attribute-confirm-type-send.html │ │ │ │ ├── attribute-disabled.html │ │ │ │ ├── attribute-maxlength-change-do-not-change-value.html │ │ │ │ ├── attribute-maxlength-first-screen-cut-value.html │ │ │ │ ├── attribute-readonly.html │ │ │ │ ├── attribute-spell-check.html │ │ │ │ ├── attribute-type-digit.html │ │ │ │ ├── attribute-type-email.html │ │ │ │ ├── attribute-type-number.html │ │ │ │ ├── attribute-type-tel.html │ │ │ │ ├── attribute-type-text.html │ │ │ │ ├── attribute-value.html │ │ │ │ ├── event-confirm.html │ │ │ │ ├── event-focus-blur.html │ │ │ │ ├── event-input-number-dot.html │ │ │ │ ├── event-input.html │ │ │ │ ├── method.html │ │ │ │ ├── placeholder-color.html │ │ │ │ ├── placeholder-weight.html │ │ │ │ ├── placeholder.html │ │ │ │ ├── press-enter-do-not-submit-value.html │ │ │ │ ├── style-background-color.html │ │ │ │ ├── style-inherit-color.html │ │ │ │ ├── style-inherit-margin.html │ │ │ │ ├── type-password.html │ │ │ │ └── type-value-do-not-show-input.html │ │ │ │ ├── x-list │ │ │ │ ├── auto-scroll.html │ │ │ │ ├── axios-gap-waterfall.html │ │ │ │ ├── axis-gap-flow.html │ │ │ │ ├── axis-gap.html │ │ │ │ ├── basic-flow.html │ │ │ │ ├── basic-waterfall.html │ │ │ │ ├── basic.html │ │ │ │ ├── enable-scroll.html │ │ │ │ ├── event-layoutcomplete.html │ │ │ │ ├── event-lower-load-more.html │ │ │ │ ├── event-lower-threshold-item-count.html │ │ │ │ ├── event-scroll.html │ │ │ │ ├── event-scrolltolower.html │ │ │ │ ├── event-scrolltoupper-tolower-flow.html │ │ │ │ ├── event-scrolltoupper-tolower-waterfall.html │ │ │ │ ├── event-scrolltoupper.html │ │ │ │ ├── event-snap.html │ │ │ │ ├── full-span-waterfall.html │ │ │ │ ├── full-span.html │ │ │ │ ├── get-scroll-container-info.html │ │ │ │ ├── get-visible-cells.html │ │ │ │ ├── initial-scroll-index.html │ │ │ │ ├── item-snap.html │ │ │ │ ├── list-item-linear.html │ │ │ │ ├── need-visible-item-info.html │ │ │ │ ├── scroll-orientation-flow.html │ │ │ │ ├── scroll-orientation-waterfall.html │ │ │ │ ├── scroll-orientation.html │ │ │ │ ├── scroll-to-position.html │ │ │ │ ├── sticky-flow.html │ │ │ │ ├── sticky-offset.html │ │ │ │ ├── sticky-waterfall.html │ │ │ │ └── sticky.html │ │ │ │ ├── x-overlay-ng │ │ │ │ ├── basic-z-index.html │ │ │ │ └── event-layoutchange.html │ │ │ │ ├── x-refresh-view │ │ │ │ ├── basic.html │ │ │ │ ├── enable-auto-loadmore-false.html │ │ │ │ ├── enable-auto-loadmore-true.html │ │ │ │ ├── enable-loadmore-false.html │ │ │ │ ├── enable-refresh-false.html │ │ │ │ ├── event-footerreleased.html │ │ │ │ ├── event-headeroffset.html │ │ │ │ ├── event-headerreleased.html │ │ │ │ ├── event-headershow.html │ │ │ │ ├── header-methods.html │ │ │ │ └── pull.html │ │ │ │ ├── x-swiper │ │ │ │ ├── x-swiper-basic-autoplay-interval.html │ │ │ │ ├── x-swiper-basic-autoplay.html │ │ │ │ ├── x-swiper-basic-circular-autoplay.html │ │ │ │ ├── x-swiper-basic-circular.html │ │ │ │ ├── x-swiper-basic-default-justify-content-flex-start.html │ │ │ │ ├── x-swiper-basic.html │ │ │ │ ├── x-swiper-circular-click.html │ │ │ │ ├── x-swiper-circular-coverflow.html │ │ │ │ ├── x-swiper-current-change.html │ │ │ │ ├── x-swiper-indicator-active-color.html │ │ │ │ ├── x-swiper-indicator-basic.html │ │ │ │ ├── x-swiper-indicator-color.html │ │ │ │ ├── x-swiper-initial-current.html │ │ │ │ ├── x-swiper-mode-carousel-page-margin.html │ │ │ │ ├── x-swiper-mode-carousel.html │ │ │ │ ├── x-swiper-mode-carry.html │ │ │ │ ├── x-swiper-mode-coverflow-circular.html │ │ │ │ ├── x-swiper-mode-coverflow.html │ │ │ │ ├── x-swiper-mode-flat-coverflow.html │ │ │ │ ├── x-swiper-mode-normal-page-margin.html │ │ │ │ ├── x-swiper-set-curren-smooth-scroll.html │ │ │ │ └── x-swiper-set-current.html │ │ │ │ ├── x-text │ │ │ │ ├── event-layoutchange.html │ │ │ │ ├── inline-image-padding-and-margin.html │ │ │ │ ├── inline-image-with-lynx-wrapper.html │ │ │ │ ├── inline-image.html │ │ │ │ ├── inline-text-with-lynx-wrapper.html │ │ │ │ ├── inline-text.html │ │ │ │ ├── inline-truncation-with-inline-image.html │ │ │ │ ├── nested-view-in-text.html │ │ │ │ ├── raw-text-with-lynx-wrapper.html │ │ │ │ ├── raw-text.html │ │ │ │ ├── text-baseline-alignment.html │ │ │ │ ├── text-clipped-display-important.html │ │ │ │ ├── text-in-text-fault-torrent.html │ │ │ │ ├── text-in-text.html │ │ │ │ ├── text-inline-no-whitespace.html │ │ │ │ ├── text-is-block-element.html │ │ │ │ ├── text-maxlength-with-raw-text.html │ │ │ │ ├── text-maxlength-with-tail-color-convert-false.html │ │ │ │ ├── text-maxlength-with-tail-color-convert.html │ │ │ │ ├── text-maxlength.html │ │ │ │ ├── text-maxline-1-instrict-size.html │ │ │ │ ├── text-maxline-basic-with-lynx-wrapper.html │ │ │ │ ├── text-maxline-basic.html │ │ │ │ ├── text-maxline-just-fit-do-not-show-custom-truncation.html │ │ │ │ ├── text-maxline-with-custom-truncation-innertext-change.html │ │ │ │ ├── text-maxline-with-custom-truncation.html │ │ │ │ ├── text-maxline-with-padding.html │ │ │ │ ├── text-maxline-with-raw-text.html │ │ │ │ ├── text-maxline-with-tail-color-convert-false.html │ │ │ │ ├── text-no-maxline-do-not-show-inline-truncation.html │ │ │ │ ├── text-not-resize-detect-new-line.html │ │ │ │ ├── text-overflow-inherit.html │ │ │ │ ├── text-sizing-in-flex-container.html │ │ │ │ ├── truncation-first-element-is-image.html │ │ │ │ ├── view-flex-in-text.html │ │ │ │ └── view-in-text.html │ │ │ │ ├── x-textarea │ │ │ │ ├── attribute-confirm-type-done.html │ │ │ │ ├── attribute-confirm-type-go.html │ │ │ │ ├── attribute-confirm-type-next.html │ │ │ │ ├── attribute-confirm-type-search.html │ │ │ │ ├── attribute-confirm-type-send.html │ │ │ │ ├── attribute-disabled.html │ │ │ │ ├── attribute-maxlength-change-do-not-change-value.html │ │ │ │ ├── attribute-maxlength-first-screen-cut-value.html │ │ │ │ ├── attribute-readonly.html │ │ │ │ ├── attribute-spell-check.html │ │ │ │ ├── attribute-value.html │ │ │ │ ├── background-color-inherit.html │ │ │ │ ├── event-confirm.html │ │ │ │ ├── event-focus-blur.html │ │ │ │ ├── event-input.html │ │ │ │ ├── method.html │ │ │ │ ├── outline-color-inherit.html │ │ │ │ ├── placeholder-color.html │ │ │ │ ├── placeholder-weight.html │ │ │ │ ├── placeholder.html │ │ │ │ └── press-enter-do-not-submit-value.html │ │ │ │ ├── x-view │ │ │ │ ├── dataset-attr-false-value.html │ │ │ │ └── event-layoutchange.html │ │ │ │ └── x-viewpager-ng │ │ │ │ ├── basic-with-lynx-wrapper.html │ │ │ │ ├── basic.html │ │ │ │ ├── bounces.html │ │ │ │ ├── do-not-response-to-select-index-on-dragging.html │ │ │ │ ├── event-offsetchange-offset-value.html │ │ │ │ ├── method-selectTab.html │ │ │ │ ├── select-index-0.html │ │ │ │ ├── select-index.html │ │ │ │ ├── selecttab-method-default-smooth.html │ │ │ │ ├── selecttab-method-not-smooth.html │ │ │ │ └── viewpager-size-cyclic-percentage-size.html │ │ ├── tsconfig.json │ │ ├── turbo.json │ │ └── vitest.config.ts │ ├── web-worker-rpc │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── Rpc.ts │ │ │ ├── RpcEndpoint.ts │ │ │ ├── TypeUtils.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ └── web-worker-runtime │ │ ├── CHANGELOG.md │ │ ├── LICENSE.txt │ │ ├── Notice.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ ├── backgroundThread │ │ │ ├── background-apis │ │ │ │ ├── createBackgroundLynx.ts │ │ │ │ ├── createElement.ts │ │ │ │ ├── createNapiLoader.ts │ │ │ │ ├── createNativeApp.ts │ │ │ │ ├── createNativeModules.ts │ │ │ │ ├── createPerformanceApis.ts │ │ │ │ ├── createTimingSystem.ts │ │ │ │ ├── crossThreadHandlers │ │ │ │ │ ├── createGetCustomSection.ts │ │ │ │ │ ├── createInvokeUIMethod.ts │ │ │ │ │ ├── createJSObjectDestructionObserver.ts │ │ │ │ │ ├── registerDisposeHandler.ts │ │ │ │ │ ├── registerGlobalExposureEventHandler.ts │ │ │ │ │ ├── registerPublicComponentEventHandler.ts │ │ │ │ │ ├── registerPublishEventHandler.ts │ │ │ │ │ ├── registerSendGlobalEvent.ts │ │ │ │ │ ├── registerUpdateDataHandler.ts │ │ │ │ │ └── registerUpdateGlobalPropsHandler.ts │ │ │ │ └── startBackgroundThread.ts │ │ │ └── index.ts │ │ ├── index.ts │ │ └── mainThread │ │ │ ├── crossThreadHandlers │ │ │ ├── createMainthreadMarkTimingInternal.ts │ │ │ └── registerUpdateDataHandler.ts │ │ │ ├── index.ts │ │ │ └── startMainThread.ts │ │ └── tsconfig.json └── webpack │ ├── chunk-loading-webpack-plugin │ ├── CHANGELOG.md │ ├── LICENSE.txt │ ├── Notice.txt │ ├── README.md │ ├── api-extractor.json │ ├── etc │ │ └── chunk-loading-webpack-plugin.api.md │ ├── package.json │ ├── src │ │ ├── ChunkLoadingRuntimeModule.ts │ │ ├── ChunkLoadingWebpackPlugin.ts │ │ ├── CssChunkLoadingRuntimeModule.ts │ │ ├── StartupChunkDependenciesPlugin.ts │ │ ├── StartupChunkDependenciesRuntimeModule.ts │ │ ├── StartupEntrypointRuntimeModule.ts │ │ ├── index.ts │ │ └── runtime │ │ │ ├── CssRuntimeModule.ts │ │ │ ├── JavaScriptRuntimeModule.ts │ │ │ ├── css │ │ │ ├── chunk-loading.js │ │ │ ├── hmr-load-chunk.js │ │ │ └── load-style.js │ │ │ ├── helper.ts │ │ │ └── javascript │ │ │ ├── chunk-loading.js │ │ │ ├── chunk-onload.js │ │ │ ├── hmr-load-chunk.js │ │ │ ├── hmr-load-manifest.js │ │ │ ├── hmr-runtime.js │ │ │ └── install-chunk.js │ ├── test │ │ ├── cases │ │ │ ├── chunk-loading │ │ │ │ ├── development │ │ │ │ │ ├── dynamic.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── production │ │ │ │ │ ├── dynamic.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── runtime-globals │ │ │ │ │ ├── dynamic.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── rspack.config.js │ │ │ └── css │ │ │ │ └── development │ │ │ │ ├── dynamic.css │ │ │ │ ├── index.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ └── describe.test.ts │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── vitest.config.ts │ ├── css-extract-webpack-plugin │ ├── CHANGELOG.md │ ├── README.md │ ├── api-extractor.json │ ├── etc │ │ └── css-extract-webpack-plugin.api.md │ ├── package.json │ ├── runtime │ │ ├── hotModuleReplacement.cjs │ │ ├── hotModuleReplacement.d.cts │ │ ├── hotModuleReplacement.lepus.cjs │ │ └── hotModuleReplacement.lepus.d.cts │ ├── src │ │ ├── .gitignore │ │ ├── CssExtractRspackPlugin.ts │ │ ├── CssExtractWebpackPlugin.ts │ │ ├── index.ts │ │ ├── loader.ts │ │ ├── rspack-loader.ts │ │ └── util.ts │ ├── test │ │ ├── .gitignore │ │ ├── Hot.test.js │ │ ├── HotSnapshot.test.ts │ │ ├── cases.test.ts │ │ ├── cases │ │ │ ├── asset-modules │ │ │ │ ├── expected │ │ │ │ │ └── main.css │ │ │ │ ├── index.js │ │ │ │ ├── react.svg │ │ │ │ ├── rspack-expected │ │ │ │ │ └── main.css │ │ │ │ ├── style.css │ │ │ │ └── webpack.config.js │ │ │ ├── at-import-in-the-entry │ │ │ │ ├── a.css │ │ │ │ ├── b.css │ │ │ │ ├── expected │ │ │ │ │ └── main.css │ │ │ │ ├── rspack-expected │ │ │ │ │ └── main.css │ │ │ │ └── webpack.config.js │ │ │ ├── at-import │ │ │ │ ├── a.css │ │ │ │ ├── aa.css │ │ │ │ ├── ab.css │ │ │ │ ├── ac.css │ │ │ │ ├── ad.css │ │ │ │ ├── ae.css │ │ │ │ ├── b.css │ │ │ │ ├── ba.css │ │ │ │ ├── bb.css │ │ │ │ ├── expected │ │ │ │ │ └── main.css │ │ │ │ ├── index.js │ │ │ │ ├── rspack-expected │ │ │ │ │ └── main.css │ │ │ │ └── webpack.config.js │ │ │ ├── base-uri-in-entry │ │ │ │ ├── expected │ │ │ │ │ ├── asset │ │ │ │ │ │ └── roboto-v18-latin-300.ttf │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.mjs │ │ │ │ ├── fonts │ │ │ │ │ └── roboto-v18-latin-300.ttf │ │ │ │ ├── index.js │ │ │ │ ├── main.css │ │ │ │ ├── rspack-expected │ │ │ │ │ ├── asset │ │ │ │ │ │ └── roboto-v18-latin-300.ttf │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.mjs │ │ │ │ └── webpack.config.js │ │ │ ├── base-uri │ │ │ │ ├── expected │ │ │ │ │ ├── asset │ │ │ │ │ │ └── roboto-v18-latin-300.ttf │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.mjs │ │ │ │ ├── fonts │ │ │ │ │ └── roboto-v18-latin-300.ttf │ │ │ │ ├── index.js │ │ │ │ ├── main.css │ │ │ │ ├── rspack-expected │ │ │ │ │ ├── asset │ │ │ │ │ │ └── roboto-v18-latin-300.ttf │ │ │ │ │ ├── index.css │ │ │ │ │ └── index.mjs │ │ │ │ └── webpack.config.js │ │ │ ├── css-id-asset-modules │ │ │ │ ├── expected │ │ │ │ │ └── main.css │ │ │ │ ├── index.js │ │ │ │ ├── react.svg │ │ │ │ ├── rspack-expected │ │ │ │ │ └── main.css │ │ │ │ ├── style.css │ │ │ │ └── webpack.config.js │ │ │ ├── css-id-at-import │ │ │ │ ├── a.css │ │ │ │ ├── aa.css │ │ │ │ ├── ab.css │ │ │ │ ├── ac.css │ │ │ │ ├── ad.css │ │ │ │ ├── ae.css │ │ │ │ ├── b.css │ │ │ │ ├── ba.css │ │ │ │ ├── base.css │ │ │ │ ├── bb.css │ │ │ │ ├── c.css │ │ │ │ ├── ca.css │ │ │ │ ├── cb.css │ │ │ │ ├── common-false.css │ │ │ │ ├── common.css │ │ │ │ ├── d.css │ │ │ │ ├── da.css │ │ │ │ ├── db.css │ │ │ │ ├── expected │ │ │ │ │ └── main.css │ │ │ │ ├── index.js │ │ │ │ ├── rspack-expected │ │ │ │ │ └── main.css │ │ │ │ └── webpack.config.js │ │ │ ├── hmr-locals │ │ │ │ ├── expected │ │ │ │ │ └── main.css │ │ │ │ ├── index.css │ │ │ │ ├── rspack-expected │ │ │ │ │ └── main.css │ │ │ │ └── webpack.config.js │ │ │ └── hmr │ │ │ │ ├── a.css │ │ │ │ ├── b.css │ │ │ │ ├── c.css │ │ │ │ ├── expected │ │ │ │ └── main.css │ │ │ │ ├── index.css │ │ │ │ ├── rspack-expected │ │ │ │ └── main.css │ │ │ │ └── webpack.config.js │ │ ├── diagnostic.test.ts │ │ ├── diagnostic │ │ │ └── error │ │ │ │ └── sass │ │ │ │ ├── expected │ │ │ │ ├── rspack.txt │ │ │ │ └── webpack.txt │ │ │ │ ├── index.js │ │ │ │ ├── index.scss │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ ├── fixtures │ │ │ ├── esm │ │ │ │ ├── css-id-module-concatenation-modules │ │ │ │ │ ├── a.css │ │ │ │ │ ├── b.css │ │ │ │ │ ├── c.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── css-id-module-concatenation │ │ │ │ │ ├── a.css │ │ │ │ │ ├── b.css │ │ │ │ │ ├── c.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── module-concatenation-modules │ │ │ │ │ ├── a.css │ │ │ │ │ ├── b.css │ │ │ │ │ ├── c.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── module-concatenation │ │ │ │ │ ├── a.css │ │ │ │ │ ├── b.css │ │ │ │ │ ├── c.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ ├── modules │ │ │ │ ├── css-id-export-only-locals │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ ├── style.css │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── css-id-named-export │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ ├── style.css │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── export-only-locals │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ ├── style.css │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── named-export-as-is │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ ├── style.css │ │ │ │ │ └── webpack.config.js │ │ │ │ └── named-export │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ ├── style.css │ │ │ │ │ └── webpack.config.js │ │ │ └── side-effects │ │ │ │ ├── css-id-side-effects-common │ │ │ │ ├── common1.css │ │ │ │ ├── common2.css │ │ │ │ ├── index.js │ │ │ │ ├── rspack.config.js │ │ │ │ ├── style.css │ │ │ │ └── webpack.config.js │ │ │ │ └── css-id-side-effects │ │ │ │ ├── index.js │ │ │ │ ├── rspack.config.js │ │ │ │ ├── style.css │ │ │ │ └── webpack.config.js │ │ ├── helper │ │ │ ├── setup-dist.js │ │ │ ├── setup-loader.js │ │ │ └── stubLynx.js │ │ ├── hotCases │ │ │ ├── css │ │ │ │ ├── basic │ │ │ │ │ ├── __snapshot__ │ │ │ │ │ │ ├── rspack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ │ └── webpack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ ├── file.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── enable-css-selector │ │ │ │ │ ├── __snapshot__ │ │ │ │ │ │ ├── rspack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ │ └── webpack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ ├── file.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── scoped │ │ │ │ │ ├── __snapshot__ │ │ │ │ │ ├── rspack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ └── webpack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ ├── file.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ ├── hot-update-json │ │ │ │ ├── default │ │ │ │ │ ├── __snapshot__ │ │ │ │ │ │ ├── rspack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ │ └── webpack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ ├── entry.js │ │ │ │ │ ├── file.module.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── no-changed.css │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── filename │ │ │ │ │ ├── __snapshot__ │ │ │ │ │ │ ├── rspack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ │ └── webpack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ ├── entry.js │ │ │ │ │ ├── file.module.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── no-changed.css │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── nested │ │ │ │ │ ├── __snapshot__ │ │ │ │ │ └── rspack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ ├── entry.js │ │ │ │ │ ├── file.module.css │ │ │ │ │ ├── index.js │ │ │ │ │ ├── no-changed.css │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ └── modules │ │ │ │ ├── basic │ │ │ │ ├── __snapshot__ │ │ │ │ │ ├── rspack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ └── webpack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ ├── entry.js │ │ │ │ ├── file.module.css │ │ │ │ ├── index.js │ │ │ │ ├── no-changed.css │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ │ │ └── export-default │ │ │ │ ├── __snapshot__ │ │ │ │ ├── rspack │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ └── 2.snap.txt │ │ │ │ └── webpack │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ └── 2.snap.txt │ │ │ │ ├── entry.js │ │ │ │ ├── file.module.css │ │ │ │ ├── index.js │ │ │ │ ├── no-changed.css │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ ├── path.test.ts │ │ ├── rspackCases.test.ts │ │ ├── runtime.test.ts │ │ └── webpackCases.test.ts │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── vitest.config.ts │ ├── react-refresh-webpack-plugin │ ├── CHANGELOG.md │ ├── README.md │ ├── api-extractor.json │ ├── etc │ │ └── react-refresh-webpack-plugin.api.md │ ├── loader.cjs │ ├── package.json │ ├── runtime │ │ ├── intercept.cjs │ │ ├── loader.cjs │ │ └── refresh.cjs │ ├── src │ │ ├── ReactRefreshRspackPlugin.ts │ │ ├── ReactRefreshWebpackPlugin.ts │ │ └── index.ts │ ├── test │ │ ├── Hot.test.js │ │ ├── HotSnapshot.test.js │ │ ├── TestEnvPlugin.ts │ │ ├── helper │ │ │ └── setup-dist.js │ │ ├── hotCases │ │ │ ├── hook │ │ │ │ ├── useContext │ │ │ │ │ ├── __snapshot__ │ │ │ │ │ │ ├── rspack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ └── 1.snap.txt │ │ │ │ │ │ └── webpack │ │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ │ └── 1.snap.txt │ │ │ │ │ ├── app.jsx │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── useState │ │ │ │ │ ├── __snapshot__ │ │ │ │ │ ├── rspack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ └── 1.snap.txt │ │ │ │ │ └── webpack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ └── 1.snap.txt │ │ │ │ │ ├── app.jsx │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ └── jsx │ │ │ │ ├── basic │ │ │ │ ├── __snapshot__ │ │ │ │ │ ├── rspack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ └── webpack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ ├── app.jsx │ │ │ │ ├── index.jsx │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ │ │ ├── recovery │ │ │ │ ├── __snapshot__ │ │ │ │ │ ├── rspack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ │ └── webpack │ │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ │ └── 2.snap.txt │ │ │ │ ├── app.jsx │ │ │ │ ├── index.jsx │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ │ │ └── value │ │ │ │ ├── __snapshot__ │ │ │ │ ├── rspack │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ └── 2.snap.txt │ │ │ │ └── webpack │ │ │ │ │ ├── 0.snap.txt │ │ │ │ │ ├── 1.snap.txt │ │ │ │ │ └── 2.snap.txt │ │ │ │ ├── app.jsx │ │ │ │ ├── index.jsx │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ └── setup-env.js │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── vitest.config.ts │ ├── react-webpack-plugin │ ├── .gitignore │ ├── CHANGELOG.md │ ├── api-extractor.json │ ├── etc │ │ └── react-webpack-plugin.api.md │ ├── package.json │ ├── src │ │ ├── LynxProcessEvalResultRuntimeModule.ts │ │ ├── ReactWebpackPlugin.ts │ │ ├── index.ts │ │ ├── layer.ts │ │ └── loaders │ │ │ ├── background.ts │ │ │ ├── main-thread.ts │ │ │ └── options.ts │ ├── test │ │ ├── cases.test.ts │ │ ├── cases │ │ │ ├── basic │ │ │ │ ├── bundle-splitting │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── export-default-abstract │ │ │ │ │ ├── abstract.ts │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── hello-world │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── lazy-imports │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── mpa │ │ │ │ │ ├── a.js │ │ │ │ │ ├── b.js │ │ │ │ │ ├── c.js │ │ │ │ │ ├── d.js │ │ │ │ │ ├── e.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── public-path │ │ │ │ │ ├── asset.json │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ └── swc-syntax-config │ │ │ │ │ ├── c-style-cast.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ ├── code-splitting │ │ │ │ ├── amd-runtime-lazy-bundle-production │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── amd-runtime-production │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── amd-runtime-with-source-map │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── amd-runtime │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── async-chunk-groups │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── async-chunk-name │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── background-only │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── basic │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── chunk-filename │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── context │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── locales │ │ │ │ │ │ ├── bar.json │ │ │ │ │ │ ├── baz.json │ │ │ │ │ │ └── foo.json │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── eval-result │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── lazy-imports │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── load-lazy-bundle │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── recursive │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ └── with-static │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ ├── compat │ │ │ │ ├── component-is │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── component-pkg │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ └── run-in-js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ ├── css │ │ │ │ ├── modules-remove-scope │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── modules-without-jsx │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── modules │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ ├── define-dce │ │ │ │ └── basic │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ ├── define │ │ │ │ ├── default │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── dev-true │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── dev │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── disable-create-selector-query-false │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── disable-create-selector-query │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── extract-str │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ └── profile │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ ├── directive-dce │ │ │ │ └── basic │ │ │ │ │ ├── a.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ ├── enum │ │ │ │ ├── basic │ │ │ │ │ ├── e.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ └── tree-shake │ │ │ │ │ ├── e.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ ├── main-thread │ │ │ │ ├── code-splitting │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── baz.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── entry │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── target-es2019 │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ ├── use-effect │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lynx-js-react.js │ │ │ │ │ ├── react.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ └── use-imperative-handle │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lynx-js-react.js │ │ │ │ │ ├── react.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ ├── source-map │ │ │ │ ├── jsx │ │ │ │ │ ├── a.jsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ │ └── tsx │ │ │ │ │ ├── a.tsx │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ ├── typescript │ │ │ │ └── type-import │ │ │ │ │ ├── bar.ts │ │ │ │ │ ├── e.ts │ │ │ │ │ ├── foo.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── test.config.cjs │ │ │ └── worklet-runtime │ │ │ │ ├── chunk │ │ │ │ ├── a.jsx │ │ │ │ ├── index.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── test.config.cjs │ │ │ │ └── not-using │ │ │ │ ├── a.jsx │ │ │ │ ├── index.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── test.config.cjs │ │ ├── create-react-config.js │ │ ├── diagnostic.test.ts │ │ ├── diagnostic │ │ │ ├── compat │ │ │ │ ├── get-node-ref │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── rspack.txt │ │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── lynx-key │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── rspack.txt │ │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── react-runtime │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── rspack.txt │ │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── stop-propagation │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── rspack.txt │ │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── this-selector-query │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── rspack.txt │ │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── utf-8 │ │ │ │ │ ├── expected │ │ │ │ │ ├── rspack.txt │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ ├── jsx │ │ │ │ ├── _unknown-css-property │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── rspack.txt │ │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── component │ │ │ │ │ ├── expected │ │ │ │ │ │ ├── rspack.txt │ │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── namespace-name │ │ │ │ │ ├── expected │ │ │ │ │ ├── rspack.txt │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ ├── main-thread │ │ │ │ └── error │ │ │ │ │ ├── expected │ │ │ │ │ ├── rspack.txt │ │ │ │ │ └── webpack.txt │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ └── module-build-failed │ │ │ │ └── errors │ │ │ │ ├── expected │ │ │ │ ├── rspack.txt │ │ │ │ └── webpack.txt │ │ │ │ ├── index.jsx │ │ │ │ ├── invalid.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ └── setup-env.js │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── vitest.config.ts │ ├── runtime-wrapper-webpack-plugin │ ├── CHANGELOG.md │ ├── README.md │ ├── api-extractor.json │ ├── etc │ │ └── runtime-wrapper-webpack-plugin.api.md │ ├── package.json │ ├── src │ │ ├── RuntimeWrapperWebpackPlugin.ts │ │ └── index.ts │ ├── test │ │ ├── cases.test.js │ │ └── cases │ │ │ ├── chunk-loading │ │ │ └── cache │ │ │ │ ├── dynamic.js │ │ │ │ ├── index.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ │ ├── runtime-globals │ │ │ ├── lynx-chunk-entries-production │ │ │ │ ├── index.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ │ └── lynx-chunk-entries │ │ │ │ ├── index.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ │ ├── source-map │ │ │ └── basic │ │ │ │ ├── a.js │ │ │ │ ├── b.js │ │ │ │ ├── c.js │ │ │ │ ├── index.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── webpack.config.js │ │ │ └── variables │ │ │ ├── component │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ │ │ ├── default-entry │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ │ │ ├── empty-entry │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ ├── test.config.cjs │ │ │ └── webpack.config.js │ │ │ ├── entry │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ ├── test.config.cjs │ │ │ └── webpack.config.js │ │ │ ├── fetch │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ │ │ ├── inject-vars │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ │ │ ├── lynx │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ │ │ ├── promise │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ │ │ ├── request-animation-frame │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ │ │ ├── setTimeout │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ │ │ ├── targetSdkVersion │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ │ │ └── websocket │ │ │ ├── index.js │ │ │ ├── rspack.config.js │ │ │ └── webpack.config.js │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── vitest.config.ts │ ├── template-webpack-plugin │ ├── CHANGELOG.md │ ├── README.md │ ├── api-extractor.json │ ├── etc │ │ └── template-webpack-plugin.api.md │ ├── package.json │ ├── src │ │ ├── LynxAsyncChunksRuntimeModule.ts │ │ ├── LynxEncodePlugin.ts │ │ ├── LynxTemplatePlugin.ts │ │ ├── WebEncodePlugin.ts │ │ ├── css │ │ │ ├── ast.ts │ │ │ ├── cssChunksToMap.ts │ │ │ ├── debundle.ts │ │ │ ├── encode.ts │ │ │ ├── index.ts │ │ │ └── plugins │ │ │ │ └── index.ts │ │ ├── index.ts │ │ └── web │ │ │ ├── StyleInfo.ts │ │ │ └── genStyleInfo.ts │ ├── test │ │ ├── __snapshots__ │ │ │ └── cases.test.ts.snap │ │ ├── basic.test.ts │ │ ├── cases.test.ts │ │ ├── cases │ │ │ ├── assets │ │ │ │ ├── debug-info-filename │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── debug-info-production │ │ │ │ │ ├── index.js │ │ │ │ │ └── rspack.config.js │ │ │ │ ├── debug-info-public-path-auto │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── debug-info │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── filename-flat │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── filename-hash-8 │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── filename-hash │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── lazy-bundle │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── lepus-chunk │ │ │ │ │ ├── index.js │ │ │ │ │ └── rspack.config.js │ │ │ │ ├── mode-none │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── production │ │ │ │ │ ├── async │ │ │ │ │ │ └── baz.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ ├── shared │ │ │ │ │ │ ├── bar.js │ │ │ │ │ │ └── foo.js │ │ │ │ │ └── test.config.cjs │ │ │ │ └── source-map │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ ├── bundle-splitting │ │ │ │ └── async-chunk │ │ │ │ │ ├── dynamic.js │ │ │ │ │ ├── dynamic2.js │ │ │ │ │ ├── dynamic3.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ ├── code-splitting │ │ │ │ ├── async-chunk │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── rspack.config.js │ │ │ │ ├── duplicated-async-chunk │ │ │ │ │ ├── a.js │ │ │ │ │ ├── b.js │ │ │ │ │ ├── c.js │ │ │ │ │ ├── d.js │ │ │ │ │ ├── e.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ ├── shared │ │ │ │ │ │ ├── bar.js │ │ │ │ │ │ ├── baz.js │ │ │ │ │ │ └── foo.js │ │ │ │ │ └── test.config.cjs │ │ │ │ └── webpack-chunk-name │ │ │ │ │ ├── bar.js │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── rspack.config.js │ │ │ ├── defaults │ │ │ │ ├── compile-options │ │ │ │ │ ├── index.js │ │ │ │ │ └── rspack.config.js │ │ │ │ └── config │ │ │ │ │ ├── index.js │ │ │ │ │ └── rspack.config.js │ │ │ ├── hooks │ │ │ │ ├── after-emit │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── before-emit-filename-hash │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── before-emit-filename │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── before-emit-lepus │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── before-emit │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── before-encode │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ ├── inline-scripts │ │ │ │ ├── external │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── rspack.config.js │ │ │ │ └── inline │ │ │ │ │ ├── foo.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── rspack.config.js │ │ │ ├── main-thread │ │ │ │ └── mpa │ │ │ │ │ ├── a.js │ │ │ │ │ ├── b.js │ │ │ │ │ ├── c.js │ │ │ │ │ ├── d.js │ │ │ │ │ ├── e.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ ├── test.config.cjs │ │ │ │ │ └── webpack.config.js │ │ │ ├── runtime-module │ │ │ │ ├── async-chunk │ │ │ │ │ ├── dynamic.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ │ └── async-chunks │ │ │ │ │ ├── dynamic.js │ │ │ │ │ ├── dynamic2.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── rspack.config.js │ │ │ │ │ └── webpack.config.js │ │ │ └── web │ │ │ │ ├── all-in-one │ │ │ │ ├── a.js │ │ │ │ ├── b.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── test.config.cjs │ │ │ │ └── default-export │ │ │ │ ├── a.js │ │ │ │ ├── b.js │ │ │ │ ├── rspack.config.js │ │ │ │ └── test.config.cjs │ │ ├── css.test.ts │ │ └── fixtures │ │ │ └── basic.tsx │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── vitest.config.ts │ ├── test-tools │ ├── README.md │ ├── package.json │ ├── src │ │ ├── case.ts │ │ ├── diagnostic.ts │ │ ├── helper │ │ │ └── checkSourceMap.ts │ │ ├── hot-snapshot.ts │ │ ├── hot.ts │ │ ├── index.ts │ │ ├── plugins │ │ │ └── hot-update.ts │ │ └── suite.ts │ ├── tsconfig.json │ └── update.js │ ├── tsconfig.json │ ├── webpack-dev-transport │ ├── CHANGELOG.md │ ├── README.md │ ├── api-extractor.json │ ├── client │ │ ├── createSocketURL.ts │ │ ├── index.ts │ │ ├── log.ts │ │ ├── parseURL.ts │ │ ├── reloadApp.ts │ │ ├── socket.ts │ │ ├── transport.ts │ │ └── webpack.d.ts │ ├── etc │ │ └── webpack-dev-transport.api.md │ ├── index.d.ts │ ├── package.json │ ├── test │ │ └── client │ │ │ ├── __snapshots__ │ │ │ └── socket.test.ts.snap │ │ │ ├── createSocketURL.test.ts │ │ │ ├── parseURL.test.ts │ │ │ ├── reconnect.test.ts │ │ │ ├── reloadApp.test.ts │ │ │ └── socket.test.ts │ ├── tsconfig.build.json │ ├── tsconfig.json │ ├── turbo.json │ └── vitest.config.ts │ └── webpack-runtime-globals │ ├── CHANGELOG.md │ ├── api-extractor.json │ ├── etc │ └── webpack-runtime-globals.api.md │ ├── package.json │ ├── src │ ├── RuntimeGlobals.ts │ └── index.ts │ ├── test │ └── RuntimeGlobals.test.ts │ ├── tsconfig.build.json │ ├── tsconfig.json │ └── vitest.config.ts ├── patches ├── @napi-rs__cli@2.18.4.patch └── @rollup__plugin-typescript.patch ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── rust-toolchain ├── tsconfig.json ├── turbo.json ├── vitest.config.ts ├── vitest.workspace.json └── website ├── .gitignore ├── api-documenter.json ├── docs ├── en │ ├── about.md │ ├── contribute.md │ ├── guide │ │ ├── assets.md │ │ ├── build-profiling.mdx │ │ ├── chunk-splitting.md │ │ ├── cli.md │ │ ├── code-splitting.md │ │ ├── compatibility.md │ │ ├── css.mdx │ │ ├── glossary.md │ │ ├── hmr.md │ │ ├── i18n.mdx │ │ ├── installation.mdx │ │ ├── output.md │ │ ├── plugin.md │ │ ├── resolve.md │ │ ├── typescript.md │ │ ├── upgrade-rspeedy.md │ │ └── use-rsdoctor.mdx │ └── index.md ├── public │ ├── rspeedy-navbar-logo-dark.png │ ├── rspeedy-navbar-logo.png │ ├── rspeedy.png │ └── rspeedy.svg └── zh │ ├── about.md │ ├── contribute.md │ ├── guide │ ├── assets.md │ ├── build-profiling.mdx │ ├── chunk-splitting.md │ ├── cli.md │ ├── code-splitting.md │ ├── compatibility.md │ ├── css.mdx │ ├── glossary.md │ ├── hmr.md │ ├── i18n.mdx │ ├── installation.mdx │ ├── output.md │ ├── plugin.md │ ├── resolve.md │ ├── typescript.md │ ├── upgrade-rspeedy.md │ └── use-rsdoctor.mdx │ └── index.md ├── i18n.json ├── package.json ├── postcss.config.js ├── rspress.config.ts ├── sidebars ├── api.ts ├── changelog.ts └── index.ts ├── src ├── components │ └── Columns.tsx └── styles │ ├── external-links.scss │ ├── global.scss │ └── theme.scss ├── tailwind.config.js ├── theme ├── HomeLayout │ ├── index.module.css │ ├── index.tsx │ └── meteors-background.tsx ├── index.tsx └── rsbuild-env.d.ts ├── tsconfig.json └── turbo.json /.changeset/busy-vans-heal.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@lynx-js/web-mainthread-apis": patch 3 | --- 4 | 5 | fix: style loss issue caused by incorrect handling of styleInfo-imports when enableCSSSelector and enableRemoveCSSScope are turned off. 6 | -------------------------------------------------------------------------------- /.changeset/cool-nights-admire.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@lynx-js/qrcode-rsbuild-plugin": minor 3 | --- 4 | 5 | Support "Type to search" when switching entries and schema. 6 | -------------------------------------------------------------------------------- /.changeset/dull-moons-scream.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@lynx-js/web-core-server": patch 3 | --- 4 | 5 | feat: support to dump ssrID 6 | -------------------------------------------------------------------------------- /.changeset/eighty-crabs-serve.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | --- 4 | -------------------------------------------------------------------------------- /.changeset/eighty-trees-appear.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@lynx-js/offscreen-document": minor 3 | --- 4 | 5 | remove `dumpHTMLString` 6 | -------------------------------------------------------------------------------- /.changeset/fresh-clowns-crash.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@lynx-js/web-elements": patch 3 | --- 4 | 5 | fix: x-foldview-ng `overflow-y: scroll` add !important to avoid being covered. 6 | -------------------------------------------------------------------------------- /.changeset/fuzzy-years-stop.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@lynx-js/web-worker-runtime": patch 3 | "@lynx-js/web-constants": patch 4 | "@lynx-js/web-core": patch 5 | --- 6 | 7 | feat: lynx-view supports `updateGlobalProps` method, which can be used to update lynx.__globalProps 8 | -------------------------------------------------------------------------------- /.changeset/nasty-results-listen.md: -------------------------------------------------------------------------------- 1 | --- 2 | "@lynx-js/react": patch 3 | --- 4 | 5 | Reduce calls to `__AddInlineStyle` by pass non-literal object directly to `__SetInlineStyles`. 6 | -------------------------------------------------------------------------------- /.changeset/silent-rules-serve.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | --- 4 | -------------------------------------------------------------------------------- /.changeset/smart-regions-dig.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | --- 4 | -------------------------------------------------------------------------------- /.cspell/preact.txt: -------------------------------------------------------------------------------- 1 | vnode 2 | vnodes 3 | preact 4 | prefresh 5 | PREFERSH 6 | -------------------------------------------------------------------------------- /.cspell/rspack.txt: -------------------------------------------------------------------------------- 1 | # Rspack-related packages 2 | 3 | rsbuild 4 | rsdoctor 5 | rsfamily 6 | rslib 7 | rslog 8 | rspack 9 | rspeedy 10 | rspress 11 | rstack 12 | 13 | # minify.mangle.keep_fnames 14 | fnames 15 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = false 12 | insert_final_newline = true 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | contact_links: 3 | - about: "Please raise issues about the site on its own repo." 4 | name: Website 5 | url: "https://github.com/lynx-family/lynx-website/issues" 6 | -------------------------------------------------------------------------------- /.github/cla.json: -------------------------------------------------------------------------------- 1 | { "signedContributors": [] } 2 | -------------------------------------------------------------------------------- /.github/codeql-config.yml: -------------------------------------------------------------------------------- 1 | paths-ignore: 2 | - "**/diagnostic" 3 | - "**/hotCases" 4 | - "**/node_modules" 5 | - "packages/rspeedy/core/test/**" 6 | - "packages/webpack/test-tools/update.js" 7 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | lint-staged 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | # We are using flatten config of eslint and not using prettier 2 | # Disable the default public-hoist-pattern(*-eslint-*, *-prettier-*) 3 | public-hoist-pattern= 4 | hoist-workspace-packages=true 5 | strict-peer-dependencies=true 6 | engine-strict=true 7 | registry=https://registry.npmjs.org/ 8 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v22 2 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- 1 | tab_spaces = 2 2 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "dprint.dprint", 4 | "editorconfig.editorconfig", 5 | ], 6 | } 7 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | packages/web-platform/** @pupiltong 2 | packages/webpack/** @colinaaa 3 | packages/rspeedy/** @colinaaa 4 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | resolver = "2" 3 | 4 | members = ["packages/react/transform"] 5 | 6 | [profile.release] 7 | codegen-units = 1 8 | # debug = true 9 | lto = true 10 | opt-level = "s" 11 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Lynx Project 2 | Copyright (c) 2018-2024 ByteDance Inc. 3 | Copyright (c) 2024 TikTok Inc. 4 | All rights reserved. 5 | -------------------------------------------------------------------------------- /examples/react/src/assets/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/examples/react/src/assets/arrow.png -------------------------------------------------------------------------------- /examples/react/src/assets/lynx-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/examples/react/src/assets/lynx-logo.png -------------------------------------------------------------------------------- /examples/react/src/assets/react-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/examples/react/src/assets/react-logo.png -------------------------------------------------------------------------------- /examples/react/src/index.tsx: -------------------------------------------------------------------------------- 1 | import { root } from '@lynx-js/react'; 2 | 3 | import { App } from './App.jsx'; 4 | 5 | root.render( 6 | , 7 | ); 8 | 9 | if (import.meta.webpackHot) { 10 | import.meta.webpackHot.accept(); 11 | } 12 | -------------------------------------------------------------------------------- /examples/react/src/rspeedy-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /examples/react/vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineProject } from 'vitest/config'; 2 | 3 | export default defineProject({ 4 | test: { 5 | name: 'examples/react', 6 | }, 7 | }); 8 | -------------------------------------------------------------------------------- /packages/background-only/empty.js: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | -------------------------------------------------------------------------------- /packages/background-only/index.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | export {}; 5 | -------------------------------------------------------------------------------- /packages/background-only/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "./dist", 5 | "rootDir": ".", 6 | "composite": true, 7 | }, 8 | "include": [ 9 | "*.ts", 10 | "*.d.ts", 11 | ], 12 | } 13 | -------------------------------------------------------------------------------- /packages/react/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../api-extractor.json", 6 | "mainEntryPointFilePath": "./types/react.docs.d.ts", 7 | } 8 | -------------------------------------------------------------------------------- /packages/react/components/.gitignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | dist/ 3 | lib/ 4 | -------------------------------------------------------------------------------- /packages/react/components/.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !dist/* 3 | !lib/** 4 | !lib/* 5 | !src/* 6 | -------------------------------------------------------------------------------- /packages/react/components/src/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | 5 | export { Page } from './Page.js'; 6 | -------------------------------------------------------------------------------- /packages/react/refresh/.gitignore: -------------------------------------------------------------------------------- 1 | /dist 2 | -------------------------------------------------------------------------------- /packages/react/refresh/.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !dist/* 3 | !src/* 4 | -------------------------------------------------------------------------------- /packages/react/refresh/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.json", 3 | "include": ["src"], 4 | } 5 | -------------------------------------------------------------------------------- /packages/react/runtime/.gitignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | lib/ 3 | !debug 4 | -------------------------------------------------------------------------------- /packages/react/runtime/.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !jsx-dev-runtime/* 3 | !jsx-runtime/* 4 | !lazy/* 5 | !lazy/** 6 | !lepus/** 7 | !lepus/* 8 | !lib/** 9 | !lib/* 10 | !src/** 11 | !src/* 12 | -------------------------------------------------------------------------------- /packages/react/runtime/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 130, 3 | "tabWidth": 2, 4 | "bracketSpacing": true, 5 | "arrowParens": "avoid" 6 | } 7 | -------------------------------------------------------------------------------- /packages/react/runtime/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @lynx-js/react-runtime 2 | 3 | ## 0.100.1 4 | 5 | ### Patch Changes 6 | 7 | - fd26881: export `snapshotManager` in `@lynx-js/react/internal` 8 | -------------------------------------------------------------------------------- /packages/react/runtime/lazy/import.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /packages/react/runtime/lepus/index.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | export { createElement } from 'react'; 5 | -------------------------------------------------------------------------------- /packages/react/runtime/lepus/jsx-dev-runtime/index.js: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | export * from '../jsx-runtime/index.js'; 5 | -------------------------------------------------------------------------------- /packages/react/testing-library/.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !dist/* 3 | !dist/env/* 4 | !types/* 5 | -------------------------------------------------------------------------------- /packages/react/testing-library/src/__tests__/lazy-bundle/LazyComponent.jsx: -------------------------------------------------------------------------------- 1 | export default function LazyComponent() { 2 | const content = `Hello from LazyComponent`; 3 | return {content}; 4 | } 5 | -------------------------------------------------------------------------------- /packages/react/testing-library/src/entry.ts: -------------------------------------------------------------------------------- 1 | // @ts-ignore 2 | export type * from '../../../types/entry.d.ts'; 3 | -------------------------------------------------------------------------------- /packages/react/testing-library/src/env/vitest.ts: -------------------------------------------------------------------------------- 1 | import env from '@lynx-js/testing-environment/env/vitest'; 2 | 3 | export default env; 4 | -------------------------------------------------------------------------------- /packages/react/testing-library/types/pure.d.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | export * from './index.d.ts'; 3 | -------------------------------------------------------------------------------- /packages/react/transform/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [net] 2 | git-fetch-with-cli = true 3 | -------------------------------------------------------------------------------- /packages/react/transform/.gitignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /*.node 3 | 4 | # auto-generated by napi-rs 5 | # Note that we are not ignoring index.d.ts since we want to build TypeScript without building Rust 6 | /index.cjs 7 | -------------------------------------------------------------------------------- /packages/react/transform/.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !index.d.ts 3 | !main.js 4 | !main.cjs 5 | !cjs/* 6 | !dist/wasm.js 7 | !dist/wasm.cjs 8 | dist/*.node 9 | -------------------------------------------------------------------------------- /packages/react/transform/__test__/css/__snapshots__/transform-imports-defaults.js: -------------------------------------------------------------------------------- 1 | import './foo.css'; 2 | import bar from './bar.css'; 3 | import * as styles from './baz.scss'; 4 | import { styles0, styles1 } from './foo.modules.css'; 5 | bar, styles, styles0, styles1; 6 | -------------------------------------------------------------------------------- /packages/react/transform/__test__/css/__snapshots__/transform-imports-without-jsx-css-scoped-all.js: -------------------------------------------------------------------------------- 1 | import './foo.css'; 2 | import bar from './bar.css'; 3 | import * as styles from './baz.scss'; 4 | import { styles0, styles1 } from './foo.modules.css'; 5 | bar, styles, styles0, styles1; 6 | -------------------------------------------------------------------------------- /packages/react/transform/__test__/css/__snapshots__/transform-imports-without-jsx-css-scoped-modules.js: -------------------------------------------------------------------------------- 1 | import './foo.css'; 2 | import bar from './bar.css'; 3 | import * as styles from './baz.scss'; 4 | import { styles0, styles1 } from './foo.modules.css'; 5 | bar, styles, styles0, styles1; 6 | -------------------------------------------------------------------------------- /packages/react/transform/__test__/css/__snapshots__/transform-imports-without-jsx-css-scoped-none.js: -------------------------------------------------------------------------------- 1 | import './foo.css'; 2 | import bar from './bar.css'; 3 | import * as styles from './baz.scss'; 4 | import { styles0, styles1 } from './foo.modules.css'; 5 | bar, styles, styles0, styles1; 6 | -------------------------------------------------------------------------------- /packages/react/transform/build.rs: -------------------------------------------------------------------------------- 1 | use std::env; 2 | 3 | extern crate napi_build; 4 | 5 | fn main() { 6 | napi_build::setup(); 7 | 8 | if env::var("CARGO_CFG_TARGET_OS").unwrap() == "linux" { 9 | println!("cargo:rustc-link-arg=-Wl,--unresolved-symbols=ignore-all"); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/react/transform/cjs/main.d.cts: -------------------------------------------------------------------------------- 1 | import type * as Transform from '../index.d.ts'; 2 | 3 | export = Transform; 4 | -------------------------------------------------------------------------------- /packages/react/transform/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /packages/react/transform/src/swc_plugin_shake/README.md: -------------------------------------------------------------------------------- 1 | # swc plugin lepus shake 2 | 3 | ``` 4 | ``` 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_add_component_element_embedded_compiler_only.js: -------------------------------------------------------------------------------- 1 | ; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_add_component_is_import.js: -------------------------------------------------------------------------------- 1 | import "@lynx-js/react/experimental/lazy/import"; 2 | import * as ReactLynx from "@lynx-js/react/internal"; 3 | let c = ; 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_change_runtime_pkg.js: -------------------------------------------------------------------------------- 1 | import { Component } from "@lynx-js/react/legacy-react-runtime"; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_handle_recursive.js: -------------------------------------------------------------------------------- 1 | const a = 2 | 3 | 4 | ; 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_left_no_remove_component_element_attr.js: -------------------------------------------------------------------------------- 1 | ; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_not_handle_jsx_member_expression.js: -------------------------------------------------------------------------------- 1 | const a = ; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_not_rename_view_in_scope.js: -------------------------------------------------------------------------------- 1 | { 2 | const View = "view"; 3 | const a = ; 4 | }{ 5 | const a = ; 6 | }const a = ; 7 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_not_rename_view_redeclaration.js: -------------------------------------------------------------------------------- 1 | { 2 | const View2 = View; 3 | const a = ; 4 | } 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_rename_view.js: -------------------------------------------------------------------------------- 1 | const a = ; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_simplify_ctor.js: -------------------------------------------------------------------------------- 1 | class A extends Component { 2 | render() { 3 | return ; 4 | } 5 | state = { 6 | d: 1, 7 | a: 1 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_simplify_ctor_correct_order.js: -------------------------------------------------------------------------------- 1 | class A extends Component { 2 | render() { 3 | return ; 4 | } 5 | state = { 6 | d: 1, 7 | a: 1, 8 | a: 2 9 | }; 10 | } 11 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_simplify_ctor_not_remain_local_decls.js: -------------------------------------------------------------------------------- 1 | let c = 1; 2 | class A extends Component { 3 | render() { 4 | return ; 5 | } 6 | state = { 7 | c 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_transform_event_props_1.js: -------------------------------------------------------------------------------- 1 | const a = ; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat/mod.rs/should_transform_event_props_2.js: -------------------------------------------------------------------------------- 1 | const a = ; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_compat_post/mod.rs/should_compat_dark_mode.js: -------------------------------------------------------------------------------- 1 | import { __SetClassesDarkMode as __SetClasses } from "@lynx-js/react/src/compat/darkMode"; 2 | lynx.__globalProps.theme.toString(); 3 | __SetClasses(a, b); 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_css_scope/mod.rs/scoped_all_transform_imports_without_jsx.js: -------------------------------------------------------------------------------- 1 | import './foo.css'; 2 | import styles from './bar.css'; 3 | import * as styles2 from '@fancy-ui/main.css'; 4 | import { clsA, clsB } from './baz.module.css'; 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_css_scope/mod.rs/scoped_modules_transform_imports_without_jsx.js: -------------------------------------------------------------------------------- 1 | import './foo.css'; 2 | import styles from './bar.css'; 3 | import * as styles2 from '@fancy-ui/main.css'; 4 | import { clsA, clsB } from './baz.module.css'; 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_css_scope/mod.rs/scoped_none_transform_imports_without_jsx.js: -------------------------------------------------------------------------------- 1 | import './foo.css'; 2 | import styles from './bar.css'; 3 | import * as styles2 from '@fancy-ui/main.css'; 4 | import { clsA, clsB } from './baz.module.css'; 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_define_dce/mod.rs/should_be_able_to_define_object.js: -------------------------------------------------------------------------------- 1 | { 2 | console.log("a"); 3 | } 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_define_dce/mod.rs/should_keep_only_true_branch.js: -------------------------------------------------------------------------------- 1 | { 2 | console.log("LEPUS"); 3 | }let a = 1; 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_define_dce/mod.rs/should_keep_only_true_branch_if_else_if.js: -------------------------------------------------------------------------------- 1 | { 2 | console.log("LEPUS"); 3 | }let a = 2; 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_define_dce/mod.rs/should_keep_only_true_branch_with_unary_operator.js: -------------------------------------------------------------------------------- 1 | { 2 | console.log("JS"); 3 | }let a = 2; 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_define_dce/mod.rs/should_not_crash_when_eval_failed.js: -------------------------------------------------------------------------------- 1 | if (A) { 2 | console.log("a"); 3 | } 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_define_dce/mod.rs/should_not_eval_bad_case_modifying.js: -------------------------------------------------------------------------------- 1 | const a = []; 2 | a.push(1); 3 | if (a.length) { 4 | console.log("a"); 5 | } else { 6 | console.log("b"); 7 | } 8 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_define_dce/mod.rs/should_not_replace_to_lit_when_resolved.js: -------------------------------------------------------------------------------- 1 | { 2 | let __LEPUS__ = 1; 3 | let __JS__ = 2; 4 | let a = (__LEPUS__, __JS__); 5 | } 6 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_define_dce/mod.rs/should_replace_to_lit.js: -------------------------------------------------------------------------------- 1 | let a = (true, false); 2 | let b = 3; 3 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_define_dce/mod.rs/should_replace_to_lit_recur.js: -------------------------------------------------------------------------------- 1 | let a = (true, false); 2 | let b = false + true; 3 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_directive_dce/mod.rs/should_do_nothing_in_mixed_target.js: -------------------------------------------------------------------------------- 1 | function keepMe(arg1, arg2) { 2 | function eliminateMe(a1, a2, a3, ...a4) { 3 | 'use js only'; 4 | console.log("js only"); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_directive_dce/mod.rs/should_do_nothing_when_arrow_function_return_directive.js: -------------------------------------------------------------------------------- 1 | const keepMe = ()=>'use js only'; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_directive_dce/mod.rs/should_eliminate_fn_body_in_component_props.js: -------------------------------------------------------------------------------- 1 | {}}/>; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_directive_dce/mod.rs/should_eliminate_fn_decl.js: -------------------------------------------------------------------------------- 1 | export default function useExposure() {} 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_directive_dce/mod.rs/should_eliminate_js_only_but_keep_constructor.js: -------------------------------------------------------------------------------- 1 | class Test { 2 | constructor(props = function() {}){ 3 | 'use js only'; 4 | super(props); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_directive_dce/mod.rs/should_eliminate_js_only_class_method.js: -------------------------------------------------------------------------------- 1 | class Test { 2 | method() {} 3 | #privateMethod() {} 4 | } 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_directive_dce/mod.rs/should_eliminate_js_only_class_property.js: -------------------------------------------------------------------------------- 1 | class Test { 2 | method = ()=>{}; 3 | #privateMethod = ()=>{}; 4 | } 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_directive_dce/mod.rs/should_eliminate_js_only_embedded.js: -------------------------------------------------------------------------------- 1 | function keepMe(arg1, arg2) { 2 | function eliminateMe() {} 3 | } 4 | function keepMe2(arg1 = function() {}) {} 5 | function keepMe3(arg1 = ()=>{}) {} 6 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_directive_dce/mod.rs/should_eliminate_native_modules_in_default_params.js: -------------------------------------------------------------------------------- 1 | const keepMe = ()=>{}; 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_inject/mod.rs/should_inject_callee.js: -------------------------------------------------------------------------------- 1 | (__globalProps.xxx ?? __globalProps.yyy ?? 'zzz').toString(); 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_refresh/mod.rs/should_handle_import_named_computed.js: -------------------------------------------------------------------------------- 1 | import { createContext as cc } from '@lynx-js/react'; 2 | export function aaa() { 3 | const context = cc[`__file_hash__$context1`] || (cc[`__file_hash__$context1`] = cc()); 4 | } 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_shake/mod.rs/should_keep_state_and_remove_other.js: -------------------------------------------------------------------------------- 1 | export class A extends Component { 2 | state = { 3 | a: 1 4 | }; 5 | render() { 6 | return <>; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_shake/mod.rs/should_not_remove_in_scope_id.js: -------------------------------------------------------------------------------- 1 | import { useEffect } from '@lynx-js/react-runtime'; 2 | { 3 | const useEffect = ()=>{}; 4 | useEffect(()=>{}); 5 | }useEffect(); 6 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_shake/mod.rs/should_not_remove_test_with_other_runtime.js: -------------------------------------------------------------------------------- 1 | export class A extends Component { 2 | test() {} 3 | } 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_shake/mod.rs/should_remove_test.js: -------------------------------------------------------------------------------- 1 | export class A extends Component { 2 | render() { 3 | return ; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_shake/mod.rs/should_remove_unused_indirect.js: -------------------------------------------------------------------------------- 1 | export class A extends Component { 2 | render() { 3 | return <>; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_shake/mod.rs/should_remove_use_effect_param.js: -------------------------------------------------------------------------------- 1 | import { useEffect } from "@lynx-js/react-runtime"; 2 | export function A() { 3 | useEffect(); 4 | } 5 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_snapshot/mod.rs/empty_module.js: -------------------------------------------------------------------------------- 1 | console.log('hello, world'); 2 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/class_in_worklet_1.js: -------------------------------------------------------------------------------- 1 | let onTapLepus = { 2 | _wkltId: "a123:test:1" 3 | }; 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/should_extract_ident_from_this_js.js: -------------------------------------------------------------------------------- 1 | let onTapLepus = { 2 | _wkltId: "a123:test:1", 3 | ...{ 4 | a: this.a 5 | } 6 | }; 7 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/should_extract_idents_outside_of_ctx.js: -------------------------------------------------------------------------------- 1 | let onTapLepus = { 2 | _c: { 3 | a, 4 | m, 5 | b, 6 | c 7 | }, 8 | _wkltId: "a123:test:1" 9 | }; 10 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/should_extract_member_expr_4_js.js: -------------------------------------------------------------------------------- 1 | let enableScroll = { 2 | _wkltId: "a123:test:1" 3 | }; 4 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/should_not_extract_ident_from_this.js: -------------------------------------------------------------------------------- 1 | let onTapLepus = { 2 | _c: { 3 | x 4 | }, 5 | _wkltId: "a123:test:1", 6 | ...{ 7 | y: this.y 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/should_not_transform_constructor.js: -------------------------------------------------------------------------------- 1 | let a = 1; 2 | class App extends Component { 3 | constructor(){ 4 | "main thread"; 5 | return a; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/should_transform_fn_decl_js.js: -------------------------------------------------------------------------------- 1 | export default { 2 | _c: { 3 | x 4 | }, 5 | _wkltId: "a123:test:1" 6 | }; 7 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/should_transform_in_class_js.js: -------------------------------------------------------------------------------- 1 | class App extends Component { 2 | a = 1; 3 | onTapLepus = { 4 | _wkltId: "a77b:test:1", 5 | ...{ 6 | a: this.a 7 | } 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/should_transform_js_general.js: -------------------------------------------------------------------------------- 1 | let worklet = { 2 | _c: { 3 | y1 4 | }, 5 | _wkltId: "a77b:test:1", 6 | ...{ 7 | y1: this.y1 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_worklet/mod.rs/should_transform_ui_worklet_js.js: -------------------------------------------------------------------------------- 1 | let onTapLepus = { 2 | _c: { 3 | a 4 | }, 5 | _wkltId: "a123:test:1" 6 | }; 7 | -------------------------------------------------------------------------------- /packages/react/worklet-runtime/.gitignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | dist/ 3 | lib/ 4 | -------------------------------------------------------------------------------- /packages/react/worklet-runtime/.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !dist/* 3 | !lib/** 4 | !lib/* 5 | -------------------------------------------------------------------------------- /packages/react/worklet-runtime/src/types/dev.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | declare let __DEV__; 5 | -------------------------------------------------------------------------------- /packages/rspeedy/core/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/rspeedy/core/client.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | 5 | /// 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/register/index.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | export function register(): () => void 5 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/build-cache/build-dependencies.js: -------------------------------------------------------------------------------- 1 | export default { 2 | performance: { 3 | buildCache: { 4 | buildDependencies: ['./foo.js'], 5 | }, 6 | }, 7 | } 8 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/build-cache/lynx.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | performance: { 3 | buildCache: true, 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/environment/lynx.config.js: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/invalid-config/resolve-error-2.ts: -------------------------------------------------------------------------------- 1 | import './non-exist-module.js' 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/invalid-config/resolve-error.ts: -------------------------------------------------------------------------------- 1 | import 'non-exist-pkg' 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/project-with-env/.env: -------------------------------------------------------------------------------- 1 | PUBLIC_FOO=BAR -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/project-with-env/.env.test: -------------------------------------------------------------------------------- 1 | PUBLIC_TEST=TEST -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/project-with-env/lynx.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/rspeedy/core/test/cli/fixtures/project-with-env/lynx.config.js -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/register.js: -------------------------------------------------------------------------------- 1 | import { register } from '../../../register/index.js' 2 | 3 | register() 4 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/register/foo.ts: -------------------------------------------------------------------------------- 1 | export function foo(): number { 2 | return 42 3 | } 4 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/register/with-query.ts: -------------------------------------------------------------------------------- 1 | import { foo } from './foo.ts?from=ts' 2 | import { foo as fooFromJS } from './foo.js?from=js' 3 | 4 | console.info(foo()) 5 | console.info(fooFromJS()) 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/start-invalid-entry-point/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "local-rspeedy-test", 3 | "dependencies": { 4 | "@lynx-js/rspeedy": "*" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/start-invalid-package-json/package.json: -------------------------------------------------------------------------------- 1 | { 2 | // This is a invalid package.json 3 | "name": "invalid-package-json" 4 | } 5 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/start-no-dependencies/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": {}, 3 | "devDependencies": {} 4 | } 5 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/start/.gitignore: -------------------------------------------------------------------------------- 1 | !node_modules 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/start/node_modules/@lynx-js/rspeedy/lib/cli/main.js: -------------------------------------------------------------------------------- 1 | export function main() { 2 | console.debug('local main()') 3 | return 42 4 | } 5 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/start/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "local-rspeedy-test", 3 | "dependencies": { 4 | "@lynx-js/rspeedy": "*" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/cli/fixtures/watch-files/object.js: -------------------------------------------------------------------------------- 1 | export default { 2 | dev: { 3 | watchFiles: { paths: ['bar.js', 'baz.js'], type: 'reload-server' }, 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/client/bar.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/rspeedy/core/test/client/bar.svg -------------------------------------------------------------------------------- /packages/rspeedy/core/test/client/baz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/rspeedy/core/test/client/baz.gif -------------------------------------------------------------------------------- /packages/rspeedy/core/test/client/foo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/rspeedy/core/test/client/foo.png -------------------------------------------------------------------------------- /packages/rspeedy/core/test/client/simple.module.css: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/client/simple.module.less: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/client/simple.module.scss: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/.gitignore: -------------------------------------------------------------------------------- 1 | !node_modules 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/default/config.js: -------------------------------------------------------------------------------- 1 | // We explicitly create an error 2 | module.exports = { 3 | default: {}, 4 | } 5 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/default/config.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | source: { 3 | entry: 'package-mjs', 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/default/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/esm-import-esm.js: -------------------------------------------------------------------------------- 1 | import { pluginFoo } from 'esm-pkg' 2 | 3 | export default { 4 | source: { 5 | entry: 'esm-import-esm', 6 | }, 7 | plugins: [pluginFoo()], 8 | } 9 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/export-default.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | source: { 3 | entry: 'cjs-export-default', 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/lynx.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | source: { 3 | entry: 'cjs-default', 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/lynx.config.mts: -------------------------------------------------------------------------------- 1 | export default { 2 | source: { 3 | entry: 'cjs-mts', 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/node_modules/esm-pkg/index.js: -------------------------------------------------------------------------------- 1 | export const pluginFoo = () => { 2 | return { 3 | name: 'foo', 4 | setup() {}, 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/node_modules/esm-pkg/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "exports": { 4 | "import": "./index.js" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/custom/const-enum.ts: -------------------------------------------------------------------------------- 1 | const enum Foo { 2 | bar = 0, 3 | baz = 1, 4 | } 5 | 6 | export default { 7 | source: { 8 | define: { bar: Foo.bar, baz: Foo.baz }, 9 | entry: 'custom-const-enum', 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/custom/custom-cts.config.ts: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line import/no-commonjs 2 | module.exports = { 3 | source: { entry: 'custom-cts' }, 4 | } 5 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/custom/custom.config.cjs: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line import/no-commonjs 2 | module.exports = { 3 | source: { entry: 'custom-cjs' }, 4 | } 5 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/custom/custom.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | source: { entry: 'custom-esm' }, 3 | } 4 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/custom/custom.cts: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | source: { 3 | entry: 'custom-cts', 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/custom/custom.mts: -------------------------------------------------------------------------------- 1 | export default { 2 | source: { 3 | entry: 'custom-mts', 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/custom/enum.ts: -------------------------------------------------------------------------------- 1 | enum Foo { 2 | bar = 0, 3 | baz = 1, 4 | } 5 | 6 | export default { 7 | source: { define: { bar: Foo.bar, baz: Foo.baz }, entry: 'custom-enum' }, 8 | } 9 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/default/lynx.config.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | source: { entry: 'default' }, 3 | } 4 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/error/invalid.js: -------------------------------------------------------------------------------- 1 | import {} 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/error/throw.js: -------------------------------------------------------------------------------- 1 | throw 1 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/order/lynx.config.js: -------------------------------------------------------------------------------- 1 | throw new Error('unreachable!') 2 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/config/fixtures/order/lynx.config.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | source: { entry: 'order' }, 3 | } 4 | -------------------------------------------------------------------------------- /packages/rspeedy/core/test/plugins/fixtures/hello-world/index.js: -------------------------------------------------------------------------------- 1 | console.info('Hello, world') 2 | -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/.gitignore: -------------------------------------------------------------------------------- 1 | /rspeedy-project 2 | -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-common/gitignore: -------------------------------------------------------------------------------- 1 | # Local 2 | .DS_Store 3 | *.local 4 | *.log* 5 | 6 | # Dist 7 | node_modules 8 | dist/ 9 | 10 | # IDE 11 | .vscode/* 12 | !.vscode/extensions.json 13 | .idea 14 | -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-common/src/assets/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/rspeedy/create-rspeedy/template-common/src/assets/arrow.png -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-common/src/assets/lynx-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/rspeedy/create-rspeedy/template-common/src/assets/lynx-logo.png -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-common/src/assets/react-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/rspeedy/create-rspeedy/template-common/src/assets/react-logo.png -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-react-js/src/index.jsx: -------------------------------------------------------------------------------- 1 | import { root } from '@lynx-js/react' 2 | 3 | import { App } from './App.jsx' 4 | 5 | root.render() 6 | 7 | if (import.meta.webpackHot) { 8 | import.meta.webpackHot.accept() 9 | } 10 | -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-react-ts/src/index.tsx: -------------------------------------------------------------------------------- 1 | import { root } from '@lynx-js/react' 2 | 3 | import { App } from './App.js' 4 | 5 | root.render() 6 | 7 | if (import.meta.webpackHot) { 8 | import.meta.webpackHot.accept() 9 | } 10 | -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-react-ts/src/rspeedy-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-react-vitest-rltl-js/src/index.jsx: -------------------------------------------------------------------------------- 1 | import { root } from '@lynx-js/react' 2 | 3 | import { App } from './App.jsx' 4 | 5 | root.render() 6 | 7 | if (import.meta.webpackHot) { 8 | import.meta.webpackHot.accept() 9 | } 10 | -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-react-vitest-rltl-ts/src/index.tsx: -------------------------------------------------------------------------------- 1 | import { root } from '@lynx-js/react' 2 | 3 | import { App } from './App.jsx' 4 | 5 | root.render() 6 | 7 | if (import.meta.webpackHot) { 8 | import.meta.webpackHot.accept() 9 | } 10 | -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/template-react-vitest-rltl-ts/src/rspeedy-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /packages/rspeedy/create-rspeedy/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.json", 3 | "compilerOptions": { 4 | "rootDir": ".", 5 | "noEmit": true, 6 | }, 7 | "include": [ 8 | "src", 9 | "test", 10 | "rslib.config.ts", 11 | ], 12 | } 13 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-qrcode/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-qrcode/test/fixtures/error/index.js: -------------------------------------------------------------------------------- 1 | console.log('Hello, world!') 2 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-qrcode/test/fixtures/hello-world/index.js: -------------------------------------------------------------------------------- 1 | console.info('Hello, world') 2 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react-alias/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react-alias/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.json", 3 | "compilerOptions": { 4 | "composite": true, 5 | "outDir": "./lib", 6 | "rootDir": "./src", 7 | }, 8 | "include": [ 9 | "src", 10 | ], 11 | } 12 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react-alias/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./tsconfig.build.json"], 3 | "compilerOptions": { 4 | "rootDir": ".", 5 | "noEmit": true, 6 | }, 7 | "include": ["src", "test", "vitest.config.ts"], 8 | } 9 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | "bundledPackages": [ 7 | "@lynx-js/react-transform", 8 | ], 9 | } 10 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/test/fixtures/background-only/backgroundCall.tsx: -------------------------------------------------------------------------------- 1 | import 'background-only' 2 | 3 | export const backgroundCall = () => { 4 | return 1 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/test/fixtures/defineDCE/basic.js: -------------------------------------------------------------------------------- 1 | if (__SOME_MACRO__) { 2 | void import('./non-exist.js') 3 | } 4 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/test/fixtures/postcss/postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | }, 5 | } 6 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/test/fixtures/special-var-name/Behavior.jsx: -------------------------------------------------------------------------------- 1 | export default function Behavior() { 2 | return ( 3 | 4 | Behavior 5 | 6 | ) 7 | } 8 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/test/fixtures/special-var-name/Card/Card.js: -------------------------------------------------------------------------------- 1 | export default 42 2 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/test/fixtures/special-var-name/Component.js: -------------------------------------------------------------------------------- 1 | const Component = () => { 2 | return 42 3 | } 4 | 5 | export default Component 6 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/test/fixtures/special-var-name/ReactLynx/index.js: -------------------------------------------------------------------------------- 1 | export default function ReactLynx() { 2 | return 42 3 | } 4 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/test/fixtures/standalone-lazy-bundle/index.tsx: -------------------------------------------------------------------------------- 1 | export default function LazyBundleComp() { 2 | return ( 3 | 4 | Hello from lazy bundle! 5 | 6 | ) 7 | } 8 | -------------------------------------------------------------------------------- /packages/rspeedy/plugin-react/test/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | } 4 | -------------------------------------------------------------------------------- /packages/rspeedy/websocket/README.md: -------------------------------------------------------------------------------- 1 | The implementation of [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket) for Lynx. 2 | -------------------------------------------------------------------------------- /packages/rspeedy/websocket/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/rspeedy/websocket/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./tsconfig.build.json"], 3 | "compilerOptions": { 4 | "rootDir": ".", 5 | "noEmit": true, 6 | }, 7 | "include": [ 8 | "index.d.ts", 9 | "src", 10 | "test", 11 | "vitest.config.ts", 12 | ], 13 | } 14 | -------------------------------------------------------------------------------- /packages/testing-library/examples/basic/.gitignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /node_modules 3 | 4 | *.log 5 | log 6 | output 7 | .DS_Store 8 | -------------------------------------------------------------------------------- /packages/testing-library/examples/basic/src/index.tsx: -------------------------------------------------------------------------------- 1 | import { App } from './App.jsx'; 2 | import { root } from '@lynx-js/react'; 3 | 4 | root.render(); 5 | -------------------------------------------------------------------------------- /packages/testing-library/examples/basic/src/rspeedy-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /packages/testing-library/testing-environment/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | "mainEntryPointFilePath": "/dist/index.d.ts", 7 | } 8 | -------------------------------------------------------------------------------- /packages/third-party/tailwind-preset/src/__tests__/styles.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /packages/third-party/tailwind-preset/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./tsconfig.build.json"], 3 | "compilerOptions": { 4 | "rootDir": ".", 5 | "noEmit": true, 6 | }, 7 | "include": ["src", "test", "vitest.config.ts"], 8 | "references": [], 9 | } 10 | -------------------------------------------------------------------------------- /packages/third-party/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | }, 5 | "references": [ 6 | /** packages-start */ 7 | { "path": "./tailwind-preset/tsconfig.build.json" }, 8 | /** packages-end */ 9 | ], 10 | "include": [], 11 | } 12 | -------------------------------------------------------------------------------- /packages/tools/canary-release/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/tools/css-serializer/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/tools/css-serializer/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export type * from './Plugin.js'; 2 | export type * from './LynxStyleNode.js'; 3 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/aspect-ratio.css: -------------------------------------------------------------------------------- 1 | .test { 2 | aspect-ratio: 275/180; 3 | } 4 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/break-rule.css: -------------------------------------------------------------------------------- 1 | .test { 2 | display: flex; 3 | height; 4 | left: 10px; 5 | padding 6 | } 7 | 8 | .test-1 { 9 | display: flex; 10 | height: 11 | } 12 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/clip-path.css: -------------------------------------------------------------------------------- 1 | .foo { 2 | clip-path: inset(0px super-ellipse 3.5 3.5 20px); 3 | } 4 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/css-variable-with-shorthand-properties.css: -------------------------------------------------------------------------------- 1 | .text { 2 | border-bottom: 0.5px var(--css-var, solid) var(--border-color, #FFE4D0); 3 | } -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/function.css: -------------------------------------------------------------------------------- 1 | .backtop { 2 | transform: translate3d(42px, -62px, -135px); 3 | } 4 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/import.css: -------------------------------------------------------------------------------- 1 | @import; 2 | @import './test.css'; 3 | @import '../test2.css'; 4 | @import "printstyle.css"; 5 | @import "@ies/ug-lynx-components/lib/styles.css"; 6 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/no-space-within-name-value.css: -------------------------------------------------------------------------------- 1 | .test { 2 | border-left-style:dashed double; 3 | border-top-style:dotted solid ridge groove; 4 | border-color:red blue blue red; 5 | border-top-width:0.5px; 6 | } 7 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/slash-selector.css: -------------------------------------------------------------------------------- 1 | .text-\[red\] { 2 | color: red; 3 | } 4 | 5 | .color-\[\#fff\] { 6 | color: #fff; 7 | } 8 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/string-value.css: -------------------------------------------------------------------------------- 1 | .test-1 { 2 | content: "test\"s 1"; 3 | } 4 | 5 | .test-2 { 6 | content: 'test\'s 2'; 7 | } 8 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/test/__preparation__/url-contain-identifier.css: -------------------------------------------------------------------------------- 1 | .backtop-btn { 2 | background-image: url(~/resource/back_top_btn.png); 3 | height: url(./resource/back_top_btn.png); 4 | width: url(/resource/back_top_btn.png); 5 | } 6 | -------------------------------------------------------------------------------- /packages/tools/css-serializer/vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config'; 2 | 3 | export default defineConfig({ 4 | test: { 5 | include: ['**/test/*.spec.ts'], 6 | name: 'tools/css-serializer', 7 | }, 8 | }); 9 | -------------------------------------------------------------------------------- /packages/tools/vitest-setup/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../../../tsconfig.json"], 3 | "compilerOptions": { 4 | "composite": true, 5 | "baseUrl": "./", 6 | "rootDir": "./", 7 | 8 | "noEmit": true, 9 | }, 10 | "include": ["./*.ts", "./*.js"], 11 | } 12 | -------------------------------------------------------------------------------- /packages/web-platform/.nycrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": true, 4 | "extension": [".js", ".cjs", ".mjs", ".ts", ".tsx", ".jsx"], 5 | "temp-dir": "./web-tests/.nyc_output" 6 | } 7 | -------------------------------------------------------------------------------- /packages/web-platform/offscreen-document/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/offscreen-document/README.md: -------------------------------------------------------------------------------- 1 | # @lynx-js/offscreen-document 2 | 3 | Offscreen Document allows developers to use partial DOM in WebWorker 4 | -------------------------------------------------------------------------------- /packages/web-platform/offscreen-document/src/main/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | export * from './initOffscreenDocument.js'; 5 | -------------------------------------------------------------------------------- /packages/web-platform/web-constants/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-constants/README.md: -------------------------------------------------------------------------------- 1 | # @lynx-js/web-constants 2 | 3 | A common dependency library that defines constants for the Lynx3 Web Platform. 4 | 5 | ## Usage 6 | 7 | ```javascript 8 | import { cardIdAttribute, lynxViewRootDomId }'@lynx-js/web-constants'; 9 | ``` 10 | -------------------------------------------------------------------------------- /packages/web-platform/web-constants/src/types/FlushElementTreeOptions.ts: -------------------------------------------------------------------------------- 1 | import type { PerformancePipelineOptions } from './Performance.js'; 2 | 3 | export interface FlushElementTreeOptions { 4 | pipelineOptions?: PerformancePipelineOptions; 5 | } 6 | -------------------------------------------------------------------------------- /packages/web-platform/web-constants/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export { LynxCrossThreadContext } from './LynxCrossThreadContext.js'; 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-core-server/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | Makefile 3 | CMakeFiles -------------------------------------------------------------------------------- /packages/web-platform/web-core/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-elements-compat/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-elements-compat/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "composite": true, 5 | "rootDir": "./src", 6 | "outDir": "./dist", 7 | "noUnusedLocals": false, 8 | }, 9 | "include": ["src"], 10 | } 11 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements-reactive/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-elements-reactive/README.md: -------------------------------------------------------------------------------- 1 | # @lynx-js/web-elements-reactive 2 | 3 | Some built-in functions related to web-elements. 4 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements-reactive/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "composite": true, 5 | "rootDir": "./src", 6 | "baseUrl": "./", 7 | "outDir": "./dist", 8 | }, 9 | "include": ["src"], 10 | } 11 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements-template/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-elements-template/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "composite": true, 5 | "outDir": "./dist", 6 | "rootDir": "./src", 7 | "lib": ["ESNext"], 8 | }, 9 | "include": ["src"], 10 | } 11 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/LynxWrapper/index.ts: -------------------------------------------------------------------------------- 1 | export { LynxWrapper } from './LynxWrapper.js'; 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/ScrollView/index.ts: -------------------------------------------------------------------------------- 1 | export { ScrollView } from './ScrollView.js'; 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XAudioTT/index.ts: -------------------------------------------------------------------------------- 1 | export { XAudioTT } from './XAudioTT.js'; 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XAudioTT/x-audio-tt.css: -------------------------------------------------------------------------------- 1 | x-audio-tt { 2 | display: none; 3 | } 4 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XCanvas/index.ts: -------------------------------------------------------------------------------- 1 | export { XCanvas } from './XCanvas.js'; 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XImage/index.ts: -------------------------------------------------------------------------------- 1 | export { FilterImage } from './FilterImage.js'; 2 | export { XImage } from './XImage.js'; 3 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XInput/index.ts: -------------------------------------------------------------------------------- 1 | export { XInput } from './XInput.js'; 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XList/index.ts: -------------------------------------------------------------------------------- 1 | export { ListItem } from './ListItem.js'; 2 | export { XList } from './XList.js'; 3 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XOverlayNg/index.ts: -------------------------------------------------------------------------------- 1 | export { XOverlayNg } from './XOverlayNg.js'; 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XRefreshView/index.ts: -------------------------------------------------------------------------------- 1 | export { XRefreshFooter } from './XRefreshFooter.js'; 2 | export { XRefreshHeader } from './XRefreshHeader.js'; 3 | export { XRefreshView } from './XRefreshView.js'; 4 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XSvg/index.ts: -------------------------------------------------------------------------------- 1 | export { XSvg } from './XSvg.js'; 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XSwiper/index.ts: -------------------------------------------------------------------------------- 1 | export { SwiperItem } from './SwiperItem.js'; 2 | export { XSwiper } from './XSwiper.js'; 3 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XText/index.ts: -------------------------------------------------------------------------------- 1 | export { InlineImage } from './InlineImage.js'; 2 | export { InlineText } from './InlineText.js'; 3 | export { InlineTruncation } from './InlineTruncation.js'; 4 | export { RawText } from './RawText.js'; 5 | export { XText } from './XText.js'; 6 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XTextarea/index.ts: -------------------------------------------------------------------------------- 1 | export { XTextarea } from './XTextarea.js'; 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XView/index.ts: -------------------------------------------------------------------------------- 1 | export { XView } from './XView.js'; 2 | export { XBlurView } from './XBlurView.js'; 3 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/XViewpagerNg/index.ts: -------------------------------------------------------------------------------- 1 | export { XViewpagerNg } from './XViewpagerNg.js'; 2 | export { XViewpagerItemNg } from './XViewpagerItemNg.js'; 3 | -------------------------------------------------------------------------------- /packages/web-platform/web-elements/src/common/renameEvent.ts: -------------------------------------------------------------------------------- 1 | export const renameEvent: Record = { 2 | 'submit': 'confirm', 3 | 'blur': 'lynxblur', 4 | 'focus': 'lynxfocus', 5 | }; 6 | -------------------------------------------------------------------------------- /packages/web-platform/web-explorer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-explorer/README.md -------------------------------------------------------------------------------- /packages/web-platform/web-explorer/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-explorer/icons/icon-128x128.png -------------------------------------------------------------------------------- /packages/web-platform/web-explorer/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-explorer/icons/icon-144x144.png -------------------------------------------------------------------------------- /packages/web-platform/web-explorer/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-explorer/icons/icon-152x152.png -------------------------------------------------------------------------------- /packages/web-platform/web-explorer/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-explorer/icons/icon-192x192.png -------------------------------------------------------------------------------- /packages/web-platform/web-explorer/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-explorer/icons/icon-384x384.png -------------------------------------------------------------------------------- /packages/web-platform/web-explorer/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-explorer/icons/icon-512x512.png -------------------------------------------------------------------------------- /packages/web-platform/web-explorer/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-explorer/icons/icon-72x72.png -------------------------------------------------------------------------------- /packages/web-platform/web-explorer/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-explorer/icons/icon-96x96.png -------------------------------------------------------------------------------- /packages/web-platform/web-mainthread-apis/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-mainthread-apis/README.md: -------------------------------------------------------------------------------- 1 | # @lynx-js/web-mainthread-apis 2 | 3 | main-thread apis 4 | -------------------------------------------------------------------------------- /packages/web-platform/web-rsbuild-plugin/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/web-platform/web-rsbuild-plugin/rslib.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from '@rslib/core'; 2 | 3 | export default defineConfig({ 4 | lib: [ 5 | { format: 'esm', syntax: 'es2022', dts: { bundle: true } }, 6 | ], 7 | }); 8 | -------------------------------------------------------------------------------- /packages/web-platform/web-rsbuild-plugin/tests/__snapshots__/config.test.ts.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`Config > basic config 1`] = ` 4 | [ 5 | /node_modules\\[\\\\\\\\/\\]@lynx-js\\[\\\\\\\\/\\]/, 6 | ] 7 | `; 8 | -------------------------------------------------------------------------------- /packages/web-platform/web-rsbuild-plugin/tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | } 4 | -------------------------------------------------------------------------------- /packages/web-platform/web-style-transformer/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-style-transformer/README.md: -------------------------------------------------------------------------------- 1 | # @lynx-js/web-style-transformer 2 | 3 | style transformer for flex、linear layout. 4 | -------------------------------------------------------------------------------- /packages/web-platform/web-style-transformer/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "composite": true, 5 | "rootDir": "./src", 6 | "baseUrl": "./", 7 | "outDir": "./dist", 8 | }, 9 | "include": ["src"], 10 | } 11 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-tests/resources/NotoSansSC-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/resources/NotoSansSC-Regular.woff2 -------------------------------------------------------------------------------- /packages/web-platform/web-tests/resources/chromium-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/resources/chromium-logo.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/resources/ddee519472dd7e73eeb153e78d484db3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/resources/ddee519472dd7e73eeb153e78d484db3.mp3 -------------------------------------------------------------------------------- /packages/web-platform/web-tests/resources/firefox-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/resources/firefox-logo.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/resources/inline-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/resources/inline-image.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/resources/lynx-logo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/resources/lynx-logo.jpeg -------------------------------------------------------------------------------- /packages/web-platform/web-tests/resources/text.txt: -------------------------------------------------------------------------------- 1 | this is text -------------------------------------------------------------------------------- /packages/web-platform/web-tests/shell-project/fp-only.ts: -------------------------------------------------------------------------------- 1 | import '@lynx-js/web-elements/index.css'; 2 | import '@lynx-js/web-core/index.css'; 3 | import './index.css'; 4 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/shell-project/web-elements.ts: -------------------------------------------------------------------------------- 1 | import '@lynx-js/web-elements-compat/LinearContainer'; 2 | import '@lynx-js/web-elements/all'; 3 | import '@lynx-js/web-elements/index.css'; 4 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/api-animate/animate/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/api-animate/animate/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/api-animate/initial/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/api-animate/initial/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/image/auto-size/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/image/auto-size/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/image/auto-size/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/image/auto-size/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/image/auto-size/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/image/auto-size/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/image/placeholder/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/image/placeholder/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/hex-color/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/hex-color/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/hex-color/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/hex-color/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/hex-color/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/hex-color/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/utf8/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/utf8/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/utf8/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/utf8/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/utf8/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/utf8/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/with-css/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/with-css/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/with-css/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/with-css/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/with-css/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/svg/with-css/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/baseline/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/baseline/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/baseline/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/baseline/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/baseline/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/baseline/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/display-none/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/display-none/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxlength/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxlength/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxlength/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxlength/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxlength/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxlength/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxline/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxline/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxline/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxline/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxline/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/maxline/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-image/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-image/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-image/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-image/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-image/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-image/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-text/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-text/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-text/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-text/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-text/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-text/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-view/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-view/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-view/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-view/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-view/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/nest-view/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/word-break/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/word-break/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/word-break/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/word-break/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/word-break/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/text/word-break/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/blur/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/blur/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/blur/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/blur/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/blur/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/blur/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/type/index-chromium-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/type/index-chromium-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/type/index-firefox-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/type/index-firefox-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/type/index-webkit-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react.spec.ts-snapshots/x-input/type/index-webkit-linux.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react/basic-css-asset-in-css/index.css: -------------------------------------------------------------------------------- 1 | .bg { 2 | background-image: url("../../../resources/lynx-logo.jpeg"); 3 | background-size: contain; 4 | } 5 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react/basic-css-var/index.css: -------------------------------------------------------------------------------- 1 | #target { 2 | width: 100px; 3 | height: 100px; 4 | --nested-bg-color: pink; 5 | --bg-color: var(--nested-bg-color); 6 | background: var(--bg-color); 7 | } 8 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react/basic-element-image-auto-size/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | // Copyright 2024 The Lynx Authors. All rights reserved. 3 | // Licensed under the Apache License Version 2.0 that can be found in the 4 | // LICENSE file in the root directory of this source tree. 5 | */ 6 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react/basic-element-image-border-radius/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | // Copyright 2024 The Lynx Authors. All rights reserved. 3 | // Licensed under the Apache License Version 2.0 that can be found in the 4 | // LICENSE file in the root directory of this source tree. 5 | */ 6 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react/basic-element-image-placeholder/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | // Copyright 2024 The Lynx Authors. All rights reserved. 3 | // Licensed under the Apache License Version 2.0 that can be found in the 4 | // LICENSE file in the root directory of this source tree. 5 | */ 6 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react/basic-element-image-placeholder/lynx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react/basic-element-image-placeholder/lynx.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react/basic-element-x-refresh-view-demo/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/react/basic-element-x-refresh-view-demo/img.png -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react/basic-element-x-swiper-swiper-dynamic/getColor.js: -------------------------------------------------------------------------------- 1 | export function getColor(num) { 2 | if (num % 2 === 0) { 3 | return 'rgba(50, 50, 255, 1)'; 4 | } else { 5 | return 'rgba(255, 50, 50, 1)'; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/react/basic-flex-1/index.css: -------------------------------------------------------------------------------- 1 | view { 2 | display: flex; 3 | } 4 | -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/web-elements/x-audio-tt/source-detail.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/web-elements/x-audio-tt/source-detail.mp3 -------------------------------------------------------------------------------- /packages/web-platform/web-tests/tests/web-elements/x-audio-tt/source-horse.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/web-platform/web-tests/tests/web-elements/x-audio-tt/source-horse.mp3 -------------------------------------------------------------------------------- /packages/web-platform/web-worker-rpc/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-worker-rpc/README.md: -------------------------------------------------------------------------------- 1 | # @lynx-js/web-worker-rpc 2 | -------------------------------------------------------------------------------- /packages/web-platform/web-worker-runtime/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/web-platform/web-worker-runtime/README.md: -------------------------------------------------------------------------------- 1 | # @lynx-js/worker-rpc 2 | -------------------------------------------------------------------------------- /packages/webpack/chunk-loading-webpack-plugin/Notice.txt: -------------------------------------------------------------------------------- 1 | Copyright 2023-2024 The Lynx Authors. All rights reserved. -------------------------------------------------------------------------------- /packages/webpack/chunk-loading-webpack-plugin/README.md: -------------------------------------------------------------------------------- 1 |

@lynx-js/chunk-loading-webpack-plugin

2 | 3 | A webpack plugin to generate chunk loading runtime for Lynx. 4 | -------------------------------------------------------------------------------- /packages/webpack/chunk-loading-webpack-plugin/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/chunk-loading-webpack-plugin/test/cases/chunk-loading/development/dynamic.js: -------------------------------------------------------------------------------- 1 | export const value = 1; 2 | -------------------------------------------------------------------------------- /packages/webpack/chunk-loading-webpack-plugin/test/cases/chunk-loading/production/dynamic.js: -------------------------------------------------------------------------------- 1 | export const value = 1; 2 | -------------------------------------------------------------------------------- /packages/webpack/chunk-loading-webpack-plugin/test/cases/chunk-loading/runtime-globals/dynamic.js: -------------------------------------------------------------------------------- 1 | export const value = 1; 2 | -------------------------------------------------------------------------------- /packages/webpack/chunk-loading-webpack-plugin/test/cases/css/development/dynamic.css: -------------------------------------------------------------------------------- 1 | .foo { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/chunk-loading-webpack-plugin/vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineProject } from 'vitest/config'; 2 | 3 | export default defineProject({ 4 | test: { 5 | name: 'webpack/chunk-loading', 6 | setupFiles: ['@lynx-js/vitest-setup/setup.ts'], 7 | }, 8 | }); 9 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/README.md: -------------------------------------------------------------------------------- 1 |

@lynx-js/css-extract-webpack-plugin

2 | 3 | This plugin extracts CSS into separate files. It creates a CSS file per JS file which contains CSS. 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/runtime/hotModuleReplacement.d.cts: -------------------------------------------------------------------------------- 1 | declare function update( 2 | moduleId: string | number, 3 | options: unknown, 4 | cssId?: number, 5 | ): () => void; 6 | 7 | export = update; 8 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/runtime/hotModuleReplacement.lepus.d.cts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/src/.gitignore: -------------------------------------------------------------------------------- 1 | # TODO: remove these 2 | /loader.js 3 | /loader.js.map 4 | /rspack-loader.js 5 | /rspack-loader.js.map 6 | /util.js 7 | /util.js.map 8 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/.gitignore: -------------------------------------------------------------------------------- 1 | # Output of test cases 2 | /js 3 | /rspack-js 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/asset-modules/expected/main.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: red; 3 | background-image: url(https://example.com/static/react.svg); 4 | } 5 | 6 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/asset-modules/index.js: -------------------------------------------------------------------------------- 1 | import './style.css'; 2 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/asset-modules/rspack-expected/main.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: red; 3 | background-image: url(https://example.com/static/react.svg); 4 | } 5 | 6 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/asset-modules/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: red; 3 | background-image: url(./react.svg); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import-in-the-entry/a.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Manrope"; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import-in-the-entry/b.css: -------------------------------------------------------------------------------- 1 | @import url(https://fonts.googleapis.com/css2?family=Manrope:wght@500;800&display=swap); 2 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import-in-the-entry/expected/main.css: -------------------------------------------------------------------------------- 1 | @import url(https://fonts.googleapis.com/css2?family=Manrope:wght@500;800&display=swap); 2 | body { 3 | font-family: "Manrope"; 4 | } 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import-in-the-entry/rspack-expected/main.css: -------------------------------------------------------------------------------- 1 | @import url(https://fonts.googleapis.com/css2?family=Manrope:wght@500;800&display=swap); 2 | body { 3 | font-family: "Manrope"; 4 | } 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/a.css: -------------------------------------------------------------------------------- 1 | @import "./ae.css"; 2 | @import "./aa.css"; 3 | @import "./ab.css"; 4 | @import "./ac.css"; 5 | @import "./ad.css"; 6 | 7 | body { 8 | background: red; 9 | } 10 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/aa.css: -------------------------------------------------------------------------------- 1 | .aa { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/ab.css: -------------------------------------------------------------------------------- 1 | .ab { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/ac.css: -------------------------------------------------------------------------------- 1 | .ac { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/ad.css: -------------------------------------------------------------------------------- 1 | .ad { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/ae.css: -------------------------------------------------------------------------------- 1 | .ae { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/b.css: -------------------------------------------------------------------------------- 1 | @import "./ba.css"; 2 | @import "./bb.css"; 3 | 4 | body { 5 | background: yellow; 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/ba.css: -------------------------------------------------------------------------------- 1 | .ba { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/bb.css: -------------------------------------------------------------------------------- 1 | .bb { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/at-import/index.js: -------------------------------------------------------------------------------- 1 | import './a.css'; 2 | import './b.css'; 3 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri-in-entry/expected/index.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: Roboto-plp; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url(my-scheme://uri/assets/asset/roboto-v18-latin-300.ttf) format("truetype"); 6 | } 7 | 8 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri-in-entry/expected/index.mjs: -------------------------------------------------------------------------------- 1 | var __webpack_exports__ = {}; 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri-in-entry/index.js: -------------------------------------------------------------------------------- 1 | import './main.css'; 2 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri-in-entry/main.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: Roboto-plp; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url("./fonts/roboto-v18-latin-300.ttf") format("truetype"); 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri-in-entry/rspack-expected/index.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: Roboto-plp; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url(my-scheme://uri/assets/asset/roboto-v18-latin-300.ttf) format("truetype"); 6 | } 7 | 8 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri-in-entry/rspack-expected/index.mjs: -------------------------------------------------------------------------------- 1 | var __webpack_exports__ = {}; 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri/expected/index.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: Roboto-plp; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url(/assets/asset/roboto-v18-latin-300.ttf) format("truetype"); 6 | } 7 | 8 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri/expected/index.mjs: -------------------------------------------------------------------------------- 1 | var __webpack_exports__ = {}; 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri/fonts/roboto-v18-latin-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/webpack/css-extract-webpack-plugin/test/cases/base-uri/fonts/roboto-v18-latin-300.ttf -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri/index.js: -------------------------------------------------------------------------------- 1 | import './main.css'; 2 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri/main.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: Roboto-plp; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url("./fonts/roboto-v18-latin-300.ttf") format("truetype"); 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri/rspack-expected/index.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: Roboto-plp; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url(/assets/asset/roboto-v18-latin-300.ttf) format("truetype"); 6 | } 7 | 8 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/base-uri/rspack-expected/index.mjs: -------------------------------------------------------------------------------- 1 | var __webpack_exports__ = {}; 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-asset-modules/expected/main.css: -------------------------------------------------------------------------------- 1 | @cssId "1000" "style.css" { 2 | body { 3 | background: red; 4 | background-image: url(https://example.com/static/react.svg); 5 | } 6 | 7 | } 8 | 9 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-asset-modules/index.js: -------------------------------------------------------------------------------- 1 | import './style.css?cssId=1000'; 2 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-asset-modules/rspack-expected/main.css: -------------------------------------------------------------------------------- 1 | @cssId "1000" "style.css" { 2 | body { 3 | background: red; 4 | background-image: url(https://example.com/static/react.svg); 5 | } 6 | 7 | } 8 | 9 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-asset-modules/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: red; 3 | background-image: url(./react.svg); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/a.css: -------------------------------------------------------------------------------- 1 | @import "./base.css"; 2 | @import "./ae.css"; 3 | @import "./aa.css"; 4 | @import "./ab.css"; 5 | @import "./ac.css"; 6 | @import "./ad.css"; 7 | 8 | body { 9 | background: red; 10 | } 11 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/aa.css: -------------------------------------------------------------------------------- 1 | .aa { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/ab.css: -------------------------------------------------------------------------------- 1 | .ab { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/ac.css: -------------------------------------------------------------------------------- 1 | .ac { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/ad.css: -------------------------------------------------------------------------------- 1 | .ad { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/ae.css: -------------------------------------------------------------------------------- 1 | .ae { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/b.css: -------------------------------------------------------------------------------- 1 | @import "./base.css"; 2 | @import "./ba.css"; 3 | @import "./bb.css"; 4 | 5 | body { 6 | background: yellow; 7 | } 8 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/ba.css: -------------------------------------------------------------------------------- 1 | .ba { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/base.css: -------------------------------------------------------------------------------- 1 | .container { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/bb.css: -------------------------------------------------------------------------------- 1 | .bb { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/c.css: -------------------------------------------------------------------------------- 1 | @import "./ca.css"; 2 | @import "./cb.css"; 3 | 4 | .c { 5 | display: grid; 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/ca.css: -------------------------------------------------------------------------------- 1 | .ca { 2 | display: flex; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/cb.css: -------------------------------------------------------------------------------- 1 | .cb { 2 | display: flex; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/common-false.css: -------------------------------------------------------------------------------- 1 | .bg { 2 | color: blue; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/common.css: -------------------------------------------------------------------------------- 1 | .bg { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/d.css: -------------------------------------------------------------------------------- 1 | @import "./common.css?common"; 2 | @import "./da.css"; 3 | 4 | .d { 5 | line-height: 24px; 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/da.css: -------------------------------------------------------------------------------- 1 | @import "./db.css"; 2 | 3 | .da { 4 | height: 100px; 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/css-id-at-import/db.css: -------------------------------------------------------------------------------- 1 | .db { 2 | width: 42px; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/hmr-locals/expected/main.css: -------------------------------------------------------------------------------- 1 | .VoofDB21D_QzDbRdwMiY { 2 | color: red; 3 | } 4 | 5 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/hmr-locals/index.css: -------------------------------------------------------------------------------- 1 | .x { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/hmr-locals/rspack-expected/main.css: -------------------------------------------------------------------------------- 1 | .uKUN7__BVSobrm9K { 2 | color: red; 3 | } 4 | 5 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/hmr/a.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/hmr/b.css: -------------------------------------------------------------------------------- 1 | .b { 2 | background: red; 3 | } 4 | 5 | @import url("https://some/external/css"); 6 | 7 | .b { 8 | color: yellow; 9 | } 10 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/hmr/c.css: -------------------------------------------------------------------------------- 1 | .c { 2 | background: red; 3 | } 4 | @import "./a.css"; 5 | @import url("https://some/other/external/css"); 6 | 7 | .c { 8 | color: yellow; 9 | } 10 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/cases/hmr/index.css: -------------------------------------------------------------------------------- 1 | @import "./c.css"; 2 | @import "./b.css"; 3 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/diagnostic/error/sass/index.js: -------------------------------------------------------------------------------- 1 | import './index.scss' 2 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/diagnostic/error/sass/index.scss: -------------------------------------------------------------------------------- 1 | ..foo {} 2 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/css-id-module-concatenation-modules/a.css: -------------------------------------------------------------------------------- 1 | .a { 2 | background: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/css-id-module-concatenation-modules/b.css: -------------------------------------------------------------------------------- 1 | .b { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/css-id-module-concatenation-modules/c.css: -------------------------------------------------------------------------------- 1 | .c { 2 | background: blue; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/css-id-module-concatenation/a.css: -------------------------------------------------------------------------------- 1 | .a { 2 | background: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/css-id-module-concatenation/b.css: -------------------------------------------------------------------------------- 1 | .b { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/css-id-module-concatenation/c.css: -------------------------------------------------------------------------------- 1 | .c { 2 | background: blue; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/module-concatenation-modules/a.css: -------------------------------------------------------------------------------- 1 | .a { 2 | background: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/module-concatenation-modules/b.css: -------------------------------------------------------------------------------- 1 | .b { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/module-concatenation-modules/c.css: -------------------------------------------------------------------------------- 1 | .c { 2 | background: blue; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/module-concatenation/a.css: -------------------------------------------------------------------------------- 1 | .a { 2 | background: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/module-concatenation/b.css: -------------------------------------------------------------------------------- 1 | .b { 2 | background: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/esm/module-concatenation/c.css: -------------------------------------------------------------------------------- 1 | .c { 2 | background: blue; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/modules/css-id-export-only-locals/style.css: -------------------------------------------------------------------------------- 1 | .a-class { 2 | background: red; 3 | } 4 | 5 | .b__class { 6 | color: green; 7 | } 8 | 9 | .cClass { 10 | color: blue; 11 | } 12 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/modules/css-id-named-export/style.css: -------------------------------------------------------------------------------- 1 | .a-class { 2 | background: red; 3 | } 4 | 5 | .b__class { 6 | color: green; 7 | } 8 | 9 | .cClass { 10 | color: blue; 11 | } 12 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/modules/export-only-locals/style.css: -------------------------------------------------------------------------------- 1 | .a-class { 2 | background: red; 3 | } 4 | 5 | .b__class { 6 | color: green; 7 | } 8 | 9 | .cClass { 10 | color: blue; 11 | } 12 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/modules/named-export-as-is/style.css: -------------------------------------------------------------------------------- 1 | .a-class { 2 | background: red; 3 | } 4 | 5 | .b__class { 6 | color: green; 7 | } 8 | 9 | .cClass { 10 | color: blue; 11 | } 12 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/modules/named-export/style.css: -------------------------------------------------------------------------------- 1 | .a-class { 2 | background: red; 3 | } 4 | 5 | .b__class { 6 | color: green; 7 | } 8 | 9 | .cClass { 10 | color: blue; 11 | } 12 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/side-effects/css-id-side-effects-common/common1.css: -------------------------------------------------------------------------------- 1 | .common1 { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/side-effects/css-id-side-effects-common/common2.css: -------------------------------------------------------------------------------- 1 | .common2 { 2 | color: aqua; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/side-effects/css-id-side-effects-common/style.css: -------------------------------------------------------------------------------- 1 | .a-class { 2 | background: red; 3 | } 4 | 5 | .b__class { 6 | color: green; 7 | } 8 | 9 | .cClass { 10 | color: blue; 11 | } 12 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/fixtures/side-effects/css-id-side-effects/style.css: -------------------------------------------------------------------------------- 1 | .a-class { 2 | background: red; 3 | } 4 | 5 | .b__class { 6 | color: green; 7 | } 8 | 9 | .cClass { 10 | color: blue; 11 | } 12 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/hotCases/css/basic/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case basic - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/hotCases/css/enable-css-selector/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case enable-css-selector - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/hotCases/css/scoped/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case scoped - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/hotCases/hot-update-json/default/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case default - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/hotCases/hot-update-json/filename/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case filename - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/hotCases/hot-update-json/nested/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'rspack-bundle.js', 5 | ], 6 | }; 7 | -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/hotCases/modules/basic/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case basic - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/css-extract-webpack-plugin/test/hotCases/modules/export-default/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case export-default - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/README.md: -------------------------------------------------------------------------------- 1 |

@lynx-js/react-refresh-webpack-plugin

2 | 3 | A webpack plugin to hot refresh for Lynx 4 | -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/hook/useContext/__snapshot__/rspack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case useContext - rspack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: rspack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/hook/useContext/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case useContext - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/hook/useContext/__snapshot__/webpack/1.snap.txt: -------------------------------------------------------------------------------- 1 | # Case useContext - webpack: Step 1 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/hook/useState/__snapshot__/rspack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case useState - rspack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: rspack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/hook/useState/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case useState - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/hook/useState/__snapshot__/webpack/1.snap.txt: -------------------------------------------------------------------------------- 1 | # Case useState - webpack: Step 1 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/basic/__snapshot__/rspack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case basic - rspack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: rspack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/basic/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case basic - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/basic/__snapshot__/webpack/1.snap.txt: -------------------------------------------------------------------------------- 1 | # Case basic - webpack: Step 1 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/recovery/__snapshot__/rspack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case recovery - rspack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: rspack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/recovery/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case recovery - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/recovery/__snapshot__/webpack/1.snap.txt: -------------------------------------------------------------------------------- 1 | # Case recovery - webpack: Step 1 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/recovery/__snapshot__/webpack/2.snap.txt: -------------------------------------------------------------------------------- 1 | # Case recovery - webpack: Step 2 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/value/__snapshot__/rspack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case value - rspack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: rspack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/value/__snapshot__/webpack/0.snap.txt: -------------------------------------------------------------------------------- 1 | # Case value - webpack: Step 0 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/test/hotCases/jsx/value/__snapshot__/webpack/1.snap.txt: -------------------------------------------------------------------------------- 1 | # Case value - webpack: Step 1 2 | 3 | ## Changed Files 4 | 5 | 6 | ## Asset Files 7 | - Bundle: webpack-bundle.js 8 | 9 | ## Manifest 10 | 11 | 12 | ## Update -------------------------------------------------------------------------------- /packages/webpack/react-refresh-webpack-plugin/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./tsconfig.build.json"], 3 | "compilerOptions": { 4 | "rootDir": ".", 5 | "noEmit": true, 6 | }, 7 | "include": ["src", "test", "vitest.config.ts"], 8 | "exclude": ["src/**/*.cjs"], 9 | } 10 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/.gitignore: -------------------------------------------------------------------------------- 1 | src/loader.js 2 | src/loader.js.map 3 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/bundle-splitting/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/export-default-abstract/abstract.ts: -------------------------------------------------------------------------------- 1 | export default abstract class Foo { 2 | abstract foo(): void; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/export-default-abstract/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/export-default-abstract/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/hello-world/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/hello-world/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/lazy-imports/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/lazy-imports/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/public-path/asset.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/public-path/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/swc-syntax-config/c-style-cast.ts: -------------------------------------------------------------------------------- 1 | const a = <() => void> function() { 2 | /* noop */ 3 | }; 4 | export { a }; 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/swc-syntax-config/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/basic/swc-syntax-config/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime-lazy-bundle-production/bar.js: -------------------------------------------------------------------------------- 1 | export function bar() { 2 | expect(globDynamicComponentEntry).toBeUndefined(); 3 | return import('./baz.js').then(({ baz }) => { 4 | return `bar ${baz()}`; 5 | }); 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime-lazy-bundle-production/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | expect(globDynamicComponentEntry).toBeUndefined(); 3 | return 'baz'; 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime-lazy-bundle-production/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | expect(globDynamicComponentEntry).toBeUndefined(); 3 | const { bar } = await import('./bar.js'); 4 | return 'foo ' + await bar(); 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime-production/bar.js: -------------------------------------------------------------------------------- 1 | export function bar() { 2 | expect(globDynamicComponentEntry).toBeUndefined(); 3 | return import('./baz.js').then(({ baz }) => { 4 | return `bar ${baz()}`; 5 | }); 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime-production/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | expect(globDynamicComponentEntry).toBeUndefined(); 3 | return 'baz'; 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime-production/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | expect(globDynamicComponentEntry).toBeUndefined(); 3 | const { bar } = await import('./bar.js'); 4 | return 'foo ' + await bar(); 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime-with-source-map/bar.js: -------------------------------------------------------------------------------- 1 | export function bar() { 2 | return import('./baz.js').then(({ baz }) => { 3 | return `bar ${baz()}`; 4 | }); 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime-with-source-map/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return 'baz'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime-with-source-map/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | const { bar } = await import('./bar.js'); 3 | return 'foo ' + await bar(); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime/bar.js: -------------------------------------------------------------------------------- 1 | export function bar() { 2 | return import('./baz.js').then(({ baz }) => { 3 | return `bar ${baz()}`; 4 | }); 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return 'baz'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/amd-runtime/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | const { bar } = await import('./bar.js'); 3 | return 'foo ' + await bar(); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/async-chunk-groups/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | return await Promise.resolve('**foo**'); 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/async-chunk-name/bar.js: -------------------------------------------------------------------------------- 1 | export function bar() { 2 | return import('./baz.js').then(({ baz }) => { 3 | return `bar ${baz()}`; 4 | }); 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/async-chunk-name/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return 'baz'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/async-chunk-name/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | const { bar } = await import('./bar.js'); 3 | return 'foo ' + await bar(); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/background-only/bar.js: -------------------------------------------------------------------------------- 1 | export async function bar() { 2 | const { baz } = await import('./baz.js'); 3 | return '**bar**' + baz(); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/background-only/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return '**baz**'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/background-only/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | const { bar } = await import('./bar.js'); 3 | const { baz } = await import('./baz.js'); 4 | return '**foo**' + await bar() + baz(); 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/background-only/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/basic/foo.js: -------------------------------------------------------------------------------- 1 | export function foo() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/basic/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/basic/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/chunk-filename/bar.js: -------------------------------------------------------------------------------- 1 | export async function bar() { 2 | const { baz } = await import('./baz.js'); 3 | return '**bar**' + baz(); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/chunk-filename/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return '**baz**'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/chunk-filename/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | const { bar } = await import('./bar.js'); 3 | const { baz } = await import('./baz.js'); 4 | return '**foo**' + await bar() + baz(); 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/chunk-filename/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/context/locales/bar.json: -------------------------------------------------------------------------------- 1 | { 2 | "bar": "42" 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/context/locales/baz.json: -------------------------------------------------------------------------------- 1 | { 2 | "baz": "42" 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/context/locales/foo.json: -------------------------------------------------------------------------------- 1 | { 2 | "foo": "42" 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/context/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/context/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/eval-result/foo.js: -------------------------------------------------------------------------------- 1 | export function foo() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/eval-result/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/eval-result/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/lazy-imports/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/lazy-imports/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/load-lazy-bundle/foo.js: -------------------------------------------------------------------------------- 1 | export function foo() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/load-lazy-bundle/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/recursive/bar.js: -------------------------------------------------------------------------------- 1 | export async function bar() { 2 | const { baz } = await import('./baz.js'); 3 | return '**bar**' + baz(); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/recursive/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return '**baz**'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/recursive/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | const { bar } = await import('./bar.js'); 3 | const { baz } = await import('./baz.js'); 4 | return '**foo**' + await bar() + baz(); 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/recursive/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/recursive/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/with-static/bar.js: -------------------------------------------------------------------------------- 1 | export async function bar() { 2 | const { baz } = await import('./baz.js'); 3 | return '**bar**' + baz(); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/with-static/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return '**baz**'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/with-static/foo.js: -------------------------------------------------------------------------------- 1 | import { baz } from './baz.js'; 2 | 3 | export async function foo() { 4 | const { bar } = await import('./bar.js'); 5 | return '**foo**' + await bar() + baz(); 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/with-static/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/code-splitting/with-static/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/compat/component-is/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/compat/component-pkg/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/compat/run-in-js/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/css/modules-remove-scope/index.module.css: -------------------------------------------------------------------------------- 1 | .foo { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/css/modules-without-jsx/index.module.css: -------------------------------------------------------------------------------- 1 | .foo { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/css/modules/index.module.css: -------------------------------------------------------------------------------- 1 | .foo { 2 | color: red; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define-dce/basic/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/default/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/default/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/dev-true/index.jsx: -------------------------------------------------------------------------------- 1 | it('__DEV__ should be true', () => { 2 | expect(__DEV__).toBe(true); 3 | expect(__PROFILE__).toBe(true); 4 | }); 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/dev-true/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/dev/index.jsx: -------------------------------------------------------------------------------- 1 | it('__DEV__ should be false', () => { 2 | expect(__DEV__).toBe(false); 3 | expect(__PROFILE__).toBe(false); 4 | }); 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/dev/rspack.config.js: -------------------------------------------------------------------------------- 1 | import { createConfig } from '../../../create-react-config.js'; 2 | 3 | /** @type {import('@rspack/core').Configuration} */ 4 | export default { 5 | context: __dirname, 6 | ...createConfig(), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/dev/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/disable-create-selector-query-false/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/disable-create-selector-query/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/extract-str/index.jsx: -------------------------------------------------------------------------------- 1 | it('__EXTRACT_STR__ should be false', () => { 2 | expect(__EXTRACT_STR__).toBe(false); 3 | }); 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/extract-str/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/define/profile/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/directive-dce/basic/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/enum/basic/e.ts: -------------------------------------------------------------------------------- 1 | export const enum ConstEnum { 2 | Foo = 'Foo', 3 | } 4 | 5 | export enum Enum { 6 | Bar = 'Bar', 7 | } 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/enum/basic/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/enum/tree-shake/e.ts: -------------------------------------------------------------------------------- 1 | export const enum ConstEnum { 2 | Foo = 'Foo', 3 | } 4 | 5 | export enum Enum { 6 | Bar = 'Bar', 7 | } 8 | 9 | export function fn() { 10 | return 42; 11 | } 12 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/enum/tree-shake/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/main-thread/code-splitting/bar.js: -------------------------------------------------------------------------------- 1 | export function bar() { 2 | return import('./baz.js').then(({ baz }) => { 3 | return `bar ${baz()}`; 4 | }); 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/main-thread/code-splitting/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return 'baz'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/main-thread/code-splitting/foo.js: -------------------------------------------------------------------------------- 1 | export async function foo() { 2 | const { bar } = await import('./bar.js'); 3 | return 'foo ' + await bar(); 4 | } 5 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/main-thread/entry/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/main-thread/target-es2019/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/main-thread/use-effect/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/main-thread/use-imperative-handle/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/source-map/jsx/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/source-map/tsx/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/typescript/type-import/bar.ts: -------------------------------------------------------------------------------- 1 | export type Bar = string; 2 | 3 | console.info('This should exist in the output'); 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/typescript/type-import/e.ts: -------------------------------------------------------------------------------- 1 | // This will **NOT** be removed 2 | import {} from './bar.js'; 3 | 4 | // cSpell:disable 5 | 6 | import type { Foo } from './foo.js'; 7 | import type {} from './foo.js'; 8 | 9 | export const a: Foo = {}; 10 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/typescript/type-import/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/worklet-runtime/chunk/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/worklet-runtime/not-using/a.jsx: -------------------------------------------------------------------------------- 1 | export function a2() { 2 | const onTap = () => void 0; 3 | 4 | return ( 5 | 6 | 7 | hello world 8 | 9 | 10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/cases/worklet-runtime/not-using/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'main:main-thread.js', 5 | 'main:background.js', 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/get-node-ref/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/lynx-key/index.jsx: -------------------------------------------------------------------------------- 1 | import { Component } from '@lynx-js/react-runtime' 2 | 3 | export class App extends Component { 4 | render() { 5 | return 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/lynx-key/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/react-runtime/expected/webpack.txt: -------------------------------------------------------------------------------- 1 | WARNING in ./compat/react-runtime/index.jsx 2 | Module Warning (from ../../lib/loaders/background.js): 3 | DEPRECATED: lynx-key is changed to key 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/react-runtime/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/stop-propagation/expected/webpack.txt: -------------------------------------------------------------------------------- 1 | WARNING in ./compat/stop-propagation/index.jsx 2 | Module Warning (from ../../lib/loaders/background.js): 3 | BROKEN: e.stopPropagation() takes no effect and MUST be migrated in ReactLynx 3.0 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/stop-propagation/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/this-selector-query/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/utf-8/index.jsx: -------------------------------------------------------------------------------- 1 | import { Text } from '@lynx-js/react-components' 2 | 3 | function App() { 4 | return 你好,世界 5 | } 6 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/compat/utf-8/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/jsx/_unknown-css-property/index.jsx: -------------------------------------------------------------------------------- 1 | function App() { 2 | return 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/jsx/_unknown-css-property/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/jsx/component/index.jsx: -------------------------------------------------------------------------------- 1 | function App() { 2 | return 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/jsx/component/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/jsx/namespace-name/index.jsx: -------------------------------------------------------------------------------- 1 | function App() { 2 | return 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/jsx/namespace-name/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/main-thread/error/index.jsx: -------------------------------------------------------------------------------- 1 | if (__LEPUS__) { 2 | import('./non-exist-file.js') 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/main-thread/error/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/module-build-failed/errors/index.jsx: -------------------------------------------------------------------------------- 1 | import "./invalid.js"; 2 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/module-build-failed/errors/invalid.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | This is an invalid JavaScript file 3 | -------------------------------------------------------------------------------- /packages/webpack/react-webpack-plugin/test/diagnostic/module-build-failed/errors/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js' 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/README.md: -------------------------------------------------------------------------------- 1 |

@lynx-js/runtime-wrapper-webpack-plugin

2 | 3 | Use runtime wrapper which allow JavaScript to be load by Lynx. 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/runtime-globals/lynx-chunk-entries-production/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/runtime-globals/lynx-chunk-entries/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/component/index.js: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | expect(Component).toBe(undefined); 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/component/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/default-entry/index.js: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | expect(globDynamicComponentEntry).toBe('__Card__'); 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/default-entry/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/empty-entry/index.js: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | expect(globDynamicComponentEntry).toBe('__Card__'); 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/empty-entry/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/empty-entry/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | beforeExecute() { 4 | globalThis.globDynamicComponentEntry = ''; 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/entry/index.js: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | expect(globDynamicComponentEntry).toBe('__FOO__'); 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/entry/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/entry/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-tools").TConfigCaseConfig} */ 2 | module.exports = { 3 | beforeExecute() { 4 | globalThis.globDynamicComponentEntry = '__FOO__'; 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/test/cases/variables/inject-vars/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/runtime-wrapper-webpack-plugin/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./tsconfig.build.json"], 3 | "compilerOptions": { 4 | "rootDir": ".", 5 | "noEmit": true, 6 | }, 7 | "include": ["src", "test", "vitest.config.ts"], 8 | } 9 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/debug-info-filename/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/debug-info-public-path-auto/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/debug-info/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/filename-flat/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/filename-hash-8/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/filename-hash/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/lazy-bundle/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/mode-none/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/production/async/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/production/shared/bar.js: -------------------------------------------------------------------------------- 1 | export function bar() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/production/shared/foo.js: -------------------------------------------------------------------------------- 1 | export function foo() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/production/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-runner").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'template.js', 5 | ], 6 | }; 7 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/assets/source-map/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/bundle-splitting/async-chunk/dynamic.js: -------------------------------------------------------------------------------- 1 | console.info('***dynamic***'); 2 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/bundle-splitting/async-chunk/dynamic2.js: -------------------------------------------------------------------------------- 1 | console.info('***dynamic2***'); 2 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/bundle-splitting/async-chunk/dynamic3.js: -------------------------------------------------------------------------------- 1 | console.info('***dynamic3***'); 2 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/bundle-splitting/async-chunk/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/code-splitting/async-chunk/foo.js: -------------------------------------------------------------------------------- 1 | export function foo() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/code-splitting/duplicated-async-chunk/shared/bar.js: -------------------------------------------------------------------------------- 1 | export function bar() { 2 | return import( 3 | /* webpackChunkName: "baz" */ 4 | './baz.js' 5 | ).then(({ baz }) => 'bar ' + baz()); 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/code-splitting/duplicated-async-chunk/shared/baz.js: -------------------------------------------------------------------------------- 1 | export function baz() { 2 | return 'baz'; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/code-splitting/webpack-chunk-name/bar.js: -------------------------------------------------------------------------------- 1 | export function bar() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/code-splitting/webpack-chunk-name/foo.js: -------------------------------------------------------------------------------- 1 | export function foo() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/hooks/after-emit/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/hooks/before-emit-filename-hash/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/hooks/before-emit-filename/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/hooks/before-emit-lepus/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/packages/webpack/template-webpack-plugin/test/cases/hooks/before-emit-lepus/index.js -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/hooks/before-emit-lepus/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/hooks/before-emit/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/hooks/before-encode/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/inline-scripts/external/foo.js: -------------------------------------------------------------------------------- 1 | export function foo() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/inline-scripts/inline/foo.js: -------------------------------------------------------------------------------- 1 | export function foo() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/main-thread/mpa/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/runtime-module/async-chunk/dynamic.js: -------------------------------------------------------------------------------- 1 | export function dynamic() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/runtime-module/async-chunk/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/runtime-module/async-chunks/dynamic.js: -------------------------------------------------------------------------------- 1 | export function dynamic() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/runtime-module/async-chunks/dynamic2.js: -------------------------------------------------------------------------------- 1 | export function dynamic2() { 2 | return 42; 3 | } 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/runtime-module/async-chunks/rspack.config.js: -------------------------------------------------------------------------------- 1 | import config from './webpack.config.js'; 2 | 3 | export default config; 4 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/web/all-in-one/a.js: -------------------------------------------------------------------------------- 1 | console.info('**aaa**'); 2 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/web/all-in-one/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-runner").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'b/b.js', 5 | ], 6 | }; 7 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/web/default-export/a.js: -------------------------------------------------------------------------------- 1 | console.info('**aaa**'); 2 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/cases/web/default-export/test.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import("@lynx-js/test-runner").TConfigCaseConfig} */ 2 | module.exports = { 3 | bundlePath: [ 4 | 'b/b.js', 5 | ], 6 | }; 7 | -------------------------------------------------------------------------------- /packages/webpack/template-webpack-plugin/test/fixtures/basic.tsx: -------------------------------------------------------------------------------- 1 | console.info('Hello, Lynx x Webpack'); 2 | -------------------------------------------------------------------------------- /packages/webpack/test-tools/README.md: -------------------------------------------------------------------------------- 1 |

@lynx-js/test-tools

2 | 3 | The test runner for webpack & rspack plugins. 4 | -------------------------------------------------------------------------------- /packages/webpack/webpack-dev-transport/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | "mainEntryPointFilePath": "index.d.ts", 7 | } 8 | -------------------------------------------------------------------------------- /packages/webpack/webpack-runtime-globals/api-extractor.json: -------------------------------------------------------------------------------- 1 | /** 2 | * Config file for API Extractor. For more info, please visit: https://api-extractor.com 3 | */ 4 | { 5 | "extends": "../../../api-extractor.json", 6 | } 7 | -------------------------------------------------------------------------------- /packages/webpack/webpack-runtime-globals/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.json", 3 | "compilerOptions": { 4 | "composite": true, 5 | "outDir": "./lib", 6 | "baseUrl": "./", 7 | "rootDir": "./src", 8 | }, 9 | "include": ["src"], 10 | } 11 | -------------------------------------------------------------------------------- /packages/webpack/webpack-runtime-globals/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./tsconfig.build.json"], 3 | "compilerOptions": { 4 | "rootDir": ".", 5 | "noEmit": true, 6 | }, 7 | "include": ["src", "test", "vitest.config.ts"], 8 | } 9 | -------------------------------------------------------------------------------- /rust-toolchain: -------------------------------------------------------------------------------- 1 | 1.86.0 2 | -------------------------------------------------------------------------------- /website/.gitignore: -------------------------------------------------------------------------------- 1 | # auto-generated docs 2 | docs/en/api 3 | docs/zh/api 4 | docs/en/changelog 5 | docs/zh/changelog 6 | 7 | # api-extractor 8 | temp 9 | 10 | # rspress 11 | doc_build 12 | -------------------------------------------------------------------------------- /website/api-documenter.json: -------------------------------------------------------------------------------- 1 | { 2 | "newlineKind": "lf", 3 | "outputTarget": "markdown" 4 | } 5 | -------------------------------------------------------------------------------- /website/docs/en/about.md: -------------------------------------------------------------------------------- 1 | # About Lynx Stack 2 | -------------------------------------------------------------------------------- /website/docs/en/guide/chunk-splitting.md: -------------------------------------------------------------------------------- 1 | # Chunk Splitting 2 | -------------------------------------------------------------------------------- /website/docs/en/guide/compatibility.md: -------------------------------------------------------------------------------- 1 | # Compatibility 2 | -------------------------------------------------------------------------------- /website/docs/en/guide/glossary.md: -------------------------------------------------------------------------------- 1 | # Glossary 2 | -------------------------------------------------------------------------------- /website/docs/en/guide/hmr.md: -------------------------------------------------------------------------------- 1 | # Hot Module Replacement 2 | -------------------------------------------------------------------------------- /website/docs/public/rspeedy-navbar-logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/website/docs/public/rspeedy-navbar-logo-dark.png -------------------------------------------------------------------------------- /website/docs/public/rspeedy-navbar-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/website/docs/public/rspeedy-navbar-logo.png -------------------------------------------------------------------------------- /website/docs/public/rspeedy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rahul-vashishtha/lynx-stack/49528456ffdc715077bb4cc748e2a19c8c216cbd/website/docs/public/rspeedy.png -------------------------------------------------------------------------------- /website/docs/zh/about.md: -------------------------------------------------------------------------------- 1 | # 关于 lynx-stack 2 | -------------------------------------------------------------------------------- /website/docs/zh/guide/chunk-splitting.md: -------------------------------------------------------------------------------- 1 | # Chunk Splitting 2 | -------------------------------------------------------------------------------- /website/docs/zh/guide/compatibility.md: -------------------------------------------------------------------------------- 1 | # Compatibility 2 | -------------------------------------------------------------------------------- /website/docs/zh/guide/glossary.md: -------------------------------------------------------------------------------- 1 | # Glossary 2 | -------------------------------------------------------------------------------- /website/docs/zh/guide/hmr.md: -------------------------------------------------------------------------------- 1 | # Hot Module Replacement 2 | -------------------------------------------------------------------------------- /website/i18n.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolStackTitle": { 3 | "en": "Rstack", 4 | "zh": "Rstack" 5 | }, 6 | "toolStackDesc": { 7 | "en": "High-performance toolchain built around Rspack to boost modern web development", 8 | "zh": "围绕 Rspack 打造的高性能工具链,助力现代 Web 开发" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /website/sidebars/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | 5 | export * from './api.js'; 6 | export * from './changelog.js'; 7 | -------------------------------------------------------------------------------- /website/theme/rsbuild-env.d.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Lynx Authors. All rights reserved. 2 | // Licensed under the Apache License Version 2.0 that can be found in the 3 | // LICENSE file in the root directory of this source tree. 4 | --------------------------------------------------------------------------------