-
Notifications
You must be signed in to change notification settings - Fork 6
Building
UltimaDark is programmed using only native JavaScript, which means there's no build step involved. The codebase is written directly in JavaScript without any additional frameworks or tools. This approach allows for simplicity and ease of understanding, as there's no need for complex build configurations.
UltimaDark's source code is hosted on GitHub here https://github.com/ThomazPom/Moz-Ext-UltimaDark/ . The entire repository, excluding specific files and directories, is zipped for easy distribution.
- *.ps1: PowerShell UDCompress.ps1
- other-tools-and-tests: Additional tools and testing scripts.
- gre-resources: This folder contains default styles from Gecko, which UltimaDark initially modified to cover all base styles. However, with the evolution of Firefox and the introduction of more modern features like prefers-color-scheme since version 67, UltimaDark has transitioned away from using the styles in gre-resources. As a result, this folder is no longer utilized and has been excluded from the distribution.
- *.zip: Any existing zip files
- On Windows, there's a convenient option to use UDCompress.ps1 for zipping. Simply right-click on the script to initiate the compression process. Please make sure that your Execution Policy allows the use of PowerShell scripts (*.ps1 files).
- Critical Note: Powershell Compress-Archive has peculiar behavior while zipping folders and this leads to rejection on the Mozilla store. As a workaround, the "icons" folder has been intentionally excluded from the compression process. It is imperative to include it by draging the "icons" folder into the zip file after executing UDCompress.ps1.
The zipped repository has to be uploaded to Mozilla Add-ons (https://addons.mozilla.org/fr/developers/).
The uploaded package undergoes a quick review by Mozilla to ensure compliance with their guidelines and standards.
This streamlined process ensures that UltimaDark is easily accessible to users on Mozilla Addons store, and any updates or changes can be efficiently managed through the GitHub repository.