Skip to content

Comments

Version 12#1271

Open
thkruz wants to merge 516 commits intomainfrom
develop
Open

Version 12#1271
thkruz wants to merge 516 commits intomainfrom
develop

Conversation

@thkruz
Copy link
Owner

@thkruz thkruz commented Feb 19, 2026

This pull request introduces a major CSS refactoring to reduce duplication, updates build configuration logic, and makes improvements to ESLint setup and VSCode settings. The most significant change is the extraction of common CSS code into a shared file, resulting in much smaller and more maintainable variant CSS files. Additionally, plugin management logic has been removed from the build process, and locale merging is now more robust. ESLint and VSCode settings have also been updated for improved development experience.

CSS Refactoring and Build System Improvements:

CSS Refactoring

  • Extracted 98% of duplicated CSS from style.css, style.celestrak.css, and style.embed.css into a new style.common.css, reducing each variant file to only its unique rules and organizing the common file into clear sections. Backups of original files are provided, and import statements are used for maintainability.

Build System Changes

  • Removed the PluginManager and related plugin configuration logic from the build process, simplifying build management and centralizing plugin handling elsewhere. (build/build-manager.ts and build/lib/plugin-manager.ts) [1] [2] [3] [4]
  • Improved locale file merging by replacing shallow merges with a new deep merge function, ensuring that nested sections like plugins and errorMsgs are properly combined without overwriting keys. (build/lib/filesystem-manager.ts) [1] [2]

Development Environment

  • Updated ESLint configuration to remove jest plugin and environment, and added support for vitest globals in the test config. This streamlines linting and aligns with the current test framework. (.eslintrc, .eslintrc.test.json) [1] [2] [3] [4] [5]
  • Enhanced VSCode settings with Copilot commit message instructions, enabling Copilot features and providing detailed guidelines for commit formatting and emoji usage. (.vscode/settings.json)

Miscellaneous

  • Updated the project version badge in README.md to reflect the new version after refactoring.
  • Minor improvement in webpack-manager.ts by importing resolve from path for future use.

Add CameraType.FLAT_MAP, ICameraModeDelegate interface for plugin-provided
camera modes, flat map pan/zoom state, and delegate lifecycle hooks.
Add renderCustomBackground, shouldSkipEarthDraw, shouldSkipSatelliteModels,
and shouldSkipTransparentObjects events with methods-pattern support.
Allow plugins to override worldShift and skip default Earth, satellite
model, and transparent object rendering via event bus methods.
…Toggle entry

Add isLoginRequired flag to PluginDescriptor and set it on pro-gated plugins
in the manifest. Wire login gate flag propagation in PluginManager. Add
PoliticalMapToggle plugin manifest entry and config type.
…mode

Replace [BASIC, ADVANCED, ALL] with [BASIC, ALL] across plugins since ADVANCED
is no longer a distinct mode. Move filter-menu and orbit-guard to appropriate
modes. Add screen-recorder to BASIC mode.
Add comprehensive tests for init-time disable, runtime disable/enable,
interaction guards, and context menu visibility when planets are disabled.
…and guard icon state sync

Remove duplicate selectSatData event handlers (already handled by base-plugin
isRequireSatelliteSelected). Add isIconDisabled guard to prevent setting selected
state on a disabled icon during updateLoop.
…r CSS tweaks

Mark Collisions, LaunchCalendar, NextLaunches, and SatellitePhotos as
requiresInternet. Add isIconDisabledOnLoad to ShortTermFences. Fix calculator
checkbox line-height and remove unused border color. Move orbit-guard to
ADVANCED mode. Localize watchlist-filter labels.
Hoist xlsx mock to module level with vi.mock for proper ESM interception.
Add saveVariable mock to catalog-manager tests to avoid import side effects.
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
8 Security Hotspots
3.9% Duplication on New Code (required ≤ 3%)
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant